Find command usage in *nix


Find all files of a given type from current directory on down:
find ./ -name "*.conf" -print

Find all user files larger than 5Mb:
find /home -size +5000000c -print

Find all files owned by a user (defined by user id number. see /etc/passwd) on the system: (could take a very long time)
find / -user 501 -print

Find all files created or updated in the last five minutes: (Great for finding effects of make install)
find / -cmin -5

Find all users in group 20 and change them to group 102: (execute as root)
find / -group 20 -exec chown :102 {} \;

Find all suid and setgid executables:
find / \( -perm -4000 -o -perm -2000 \) -type f -exec ls -ldb {} \;
find / -type f -perm +6000 -ls

Note: suid executable binaries are programs which switch to root privileges to perform their tasks. These are created by applying a "sticky" bit: chmod +s. These programs should be watched as they are often the first point of entry for hackers. Thus it is prudent to run this command and remove the "sticky" bits from executables which either won't be used or are not required by users. chmod -s filename

Find all world writable directories:
find / -perm -0002 -type d -print

Find all world writable files:
find / -perm -0002 -type f -print
find / -perm -2 ! -type l -ls

Find files with no user:
find / -nouser -o -nogroup -print

Find files modified in the last two days:
find / -mtime 2 -o -ctime 2

Compare two drives to see if all files are identical:
find / -path /proc -prune -o -path /new-disk -prune -o -xtype f -exec cmp {} /new-disk{} \;

Comments

Popular posts from this blog

SVN: File remains in conflict

HowTo: Enable extended logging for exim

12 tweakings for WHM/cPanel to speed up WordPress