在find -perm中,“+6000”和“/6000”有什么区别?

在find -perm中,“+6000”和“/6000”有什么区别?

我正在尝试查找系统上的所有 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支持的地方避免使用。

相关内容