snoop Asked: 2015-09-29 07:02:43 +0800 CST2015-09-29 07:02:43 +0800 CST 2015-09-29 07:02:43 +0800 CST 如何找到全局可写文件和文件夹并设置粘滞位? 772 我想做以下事情: 需要从/根目录中找到所有世界上可写的文件和文件夹。 如果找到,我需要检查是否设置了粘滞位。 如果未设置粘滞位,则设置它。 我们可以针对此类问题提出命令行解决方案吗? command-line 3 个回答 Voted Best Answer terdon 2015-09-29T09:59:08+08:002015-09-29T09:59:08+08:00 您可以使用find的-perm -mode格式执行此操作。来自man find: -perm-模式 为该文件设置了所有权限位模式。符号模式以这种形式被接受,这通常是想要使用它们的方式。u',如果使用符号模式,则必须指定g' 或 `o'。有关一些说明性示例,请参阅示例部分。 因此,要查找所有可写文件,无论它们具有什么其他权限,您可以执行以下操作: find / -perm -o+w 要设置粘滞位,请使用-exec: find . -perm -o+w -exec chmod +t {} + Boschko 2018-05-24T12:25:47+08:002018-05-24T12:25:47+08:00 这个命令应该在一个命令中找到所有可写目录,我发现自己经常使用它。这是最佳命令!;) 希望它对你有用: find / -type d \( -perm -g+w -or -perm -o+w \) -exec ls -adl {} \; Mukul Chikhalkar 2020-10-25T09:13:57+08:002020-10-25T09:13:57+08:00 此命令可能对您有用: find / -type f! -path "/ proc / *" -prune -perm o + w exec ls {} -lg /; 2> / dev / null
您可以使用
find
的-perm -mode
格式执行此操作。来自man find
:因此,要查找所有可写文件,无论它们具有什么其他权限,您可以执行以下操作:
要设置粘滞位,请使用
-exec
:这个命令应该在一个命令中找到所有可写目录,我发现自己经常使用它。这是最佳命令!;) 希望它对你有用:
此命令可能对您有用: