48

I'm looking for a Linux command to go through all the directories on my server and find all files with 777 permission. The output would be a list of all those files with full path.

62

Use find:

find / -type f -perm 0777
16

And if you like to find all files without Permission 0777 then just enter a ! before the perm, e.g.

find / -type f ! -perm 0777

9

You can also change the permissions or ownership of all those files resulting from the find execution using the -exec option to avoid change them manually. Exempli gratia: In a web server you could need to grant the group to write files:

find / -type f -perm 0777 -exec chmod 775 {} \; -exec chgrp -R www {} \;
  • 1
    Be very very careful doing this - always worth using -exec ls first in order to see what the effect of your command will do. Find is super powerful and will often find things you didn't expect it to. – John Hunt Mar 24 '17 at 11:24
  • It's true. My command should be used once you know which files will result from the search. – altmas5 Apr 5 '17 at 17:25
8

it's as easy as:

find / -perm 0777

if you only want to match files, use this instead:

find / -type f -perm 0777

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy