Linux / UNIX Find All World-Writable Directories Have Sticky Bits Set

last updated in Categories , , , , , , , , , ,

How do I find out all world writable directories have sticky bits set under CentOS Linux server?

If sticky bit is set on a directory, only the owner of a given file may remove that file from the directory. Without the sticky bit, any user with write access to a directory may remove any file in the directory. Setting the sticky bit prevents users from removing each other’s files. /tmp directory always set with stick bit on.

You can easily locate all directories which are world-writable and do not have their sticky bits set. The following command will discover and print these for /webroot directory:
# find /webroot -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print
If above command produces any output, fix each reported directory /dir using the chmod command (be careful with the following command):
# find /webroot -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print0| xargs -0 chmod +t
OR better solution is review each directory and set permission as per requirements:
# chmod +t /path/to/dir
Personally, I prefer to remove permission from all such directories except required directories such as /tmp. Also some application requires world writable directories. So, if a directory is used by a particular application, consult that application’s documentation instead of blindly changing modes using xargs.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Share this on (or read 3 comments/add one below):

3 comment

  1. Hi Vivek,

    I am working to remediate vulnerability which is “World writable files exist” in one of my linux server.

    There multiple applications are having full permission. Do I need to change the permission of dir or set the sticky bit to the dir.?


    1. Yes. Usually app should be configured and written such way to disallow this. It needs to be done at system level. Always keep backups before running chmod/chown command.

    Have a question? Post it on our forum!