如何找到世界可写的文件和文件夹并设置粘性位?


13

我要执行以下操作:

  1. 需要从/根目录查找所有世界可写文件和文件夹。
  2. 如果找到,我需要检查粘性位是否已设置。
  3. 如果未设置粘性位,则进行设置。

我们可以针对此类问题提出命令行解决方案吗?

Answers:


13

您可以使用find-perm -mode格式进行此操作。来自man find

-烫发-模式

为文件设置所有许可位模式。以这种形式接受符号模式,这通常是使用它们的方式。u',如果使用符号模式,则必须指定g'或'o'。有关一些说明性示例,请参见“示例”部分。

因此,要查找所有可全局写入的文件,而不管它们具有什么其他权限,您可以执行以下操作:

find / -perm -o+w 

要设置粘性位,请使用-exec

find . -perm -o+w -exec chmod +t {} + 

2
注意:find / -not -type l -perm -o+w如果您不希望输出也包含符号链接的名称,请使用此符号。
chb

2

该命令应该在一个命令中全部找到可写目录,我发现自己经常使用它。这是最佳命令!;)希望它对您有好处:

find / -type d \( -perm -g+w -or -perm -o+w \) -exec ls -adl {} \;
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.