I was looking at the script /etc/init.d/sudo in my Ubuntu 14.04 Linux system. While reading the script, I found this statement :find /var/lib/sudo -exec touch -d @0 '{}' \;What is the meaning of @0 here? What does the above statement do?
Meaning of @0 in a shell script
find
That has nothing to do with bash or sudo. The find command is using the -exec action to run the given command on each file found. In this case, the command being run istouch -d @0If you check man touch on a GNU system, you will find that    -d, --date=STRING          parse STRING and use it instead of current timeSo, the -d is a way of choosing the date you want touch to set for the target file. The @ tells the GNU implementation of touch that this is a date defined as seconds since the epoch. Since it is actually 0 seconds, this means the very beginning of UNIX time. An easy way to check this is to give the same date to the GNU date command:$ TZ=UTC date -d @0Thu Jan  1 00:00:00 UTC 1970So, the command you showed will find all files and directories in /var/lib/sudo and set their last modified date to 00:00 UTC on Thursday January first, 1970.The reason that line exists was nicely explained in the comments below:@crisron The purpose of the line is to ensure that all sudo passwords from any previous instance of sudo are expired. The first time a user runs sudo, for each session it'll create a file in that directory. Sudo then checks the time stamp on the file the next time you run it to decide whether or not to ask you for the password again. This line ensures that when the sudo daemon is restarted all passwords must be retyped the next time a user sudos something.   krowe 