$ mkdir test
$ chmod 0000 test
$ ls -la | grep test | awk '{print $1}'
d---------.
$ chmod 6000 test
$ ls -la | grep test | awk '{print $1}'
d--S--S---.
$ chmod 0000 test
$ ls -la | grep test | awk '{print $1}'
d--S--S---.
Run Code Online (Sandbox Code Playgroud)
我不确定为什么chmod 0000 test
不清除所有权限位。我没有得到什么?我试过与计算器进行比较,但它们不匹配。在我通过 ssh 连接到的服务器 RHEL 和我自己的机器 Ubuntu 上可以看到相同的行为。我已经阅读了一段时间并花了太多时间试图理解。
我在尝试第一个八进制的所有符号时遇到了这个问题,之前从未使用过 chmod 和 4 个八进制。然而,它似乎确实清除了粘性位。
0000 被认为是不明确的,因为它可能只是表示 000,加上一个前导零,因为它是八进制。
http://lists.gnu.org/archive/html/bug-coreutils/2011-03/msg00162.html
0755 不是明确的 - 对于明确使用 printf %#3o 输出带有前导 0 的 3 位八进制字符串的人来说,这是模棱两可的 - 我认为我们无法改变这一点。
那个 coreutils 讨论线程从有人引用 chmod 手册页开始,注意到这个限制:
您可以使用数字模式设置(但不清除)这些位。
归档时间: |
|
查看次数: |
1000 次 |
最近记录: |