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.

migrated from stackoverflow.com Nov 16 '09 at 3:19

This question came from our site for professional and enthusiast programmers.

Just like your last question, use find:

find / -type f -perm 0777

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

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

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 acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.