我正在尝试查找系统上的所有 setuid/setgid 二进制文件。我在网上找到了两种不同的方法。
有什么区别
find / -perm +6000 -type f
和
find / -perm /6000 -type f
?
后者被提及的次数较多,而且它们的结果是相同的。我想绝对确保我没有丢失任何文件。它们是一样的吗?
我在 Ubuntu 可信盒子上运行它,但这在未来可能会改变。
答案1
手册find
页解释道:
-perm +mode
Deprecated, old way of searching for files with any of the per‐
mission bits in mode set. You should use -perm /mode instead.
Trying to use the `+' syntax with symbolic modes will yield sur‐
prising results. […]
所以是的,它们是同一件事,但你应该使用-perm /mode
.
答案2
GNU find 的手册页说:
-烫发/模式 为文件设置任何权限位模式。 ...
和
-烫发+模式 已弃用的旧方法,用于搜索具有模式集中任何权限位的文件。 您应该使用 -perm /mode 代替。尝试将“+”语法与符号模式一起使用将 产生令人惊讶的结果。 ...
并给出了一些例子来说明这些令人惊讶的结果。因此,它们是等效的,只是有时+mode
不能使用和/mode
可以使用,因此+mode
应在/mode
支持的地方避免使用。