How can I find world writable files and folders and set the sticky bit?
You can do this using find
's -perm -mode
format. From man find
:
-perm -mode
All of the permission bits mode are set for the file. Symbolic modes are accepted in this form, and this is usually the way in which would want to use them. You must specify
u',
g' or `o' if you use a symbolic mode. See the EXAMPLES section for some illustrative examples.
So, to find all files that are world writeable, irrespective of what other permissions they have, you can do:
find / -perm -o+w
To set the sticky bit, use -exec
:
find . -perm -o+w -exec chmod +t {} +
This command should find writable directories all in one command, I find myself using this quite often. This it the optimal command! ;) hope it serves you well:
find / -type d \( -perm -g+w -or -perm -o+w \) -exec ls -adl {} \;