a-x
清除每个人(用户、组、其他)的可执行位。
a=rX
设置每个人的读取位以及目录的可执行位;请参阅posix / chmod 中的大写 X 是什么?了解详情。它清除所有其他位。(这可以与 \xe2\x80\x99t结合使用a-x
,因为X
这里也会为任何具有可执行位集的非目录设置可执行位;a-x
首先应用可确保只有目录获得其可执行位集。)
u+w
为用户设置写入位。
结果是所有目录最终都具有 755 权限,而其他所有目录都具有 644 权限。这里有一些例子:
\n步 | 常规文件 | 可执行文件 | 目录 |
---|---|---|---|
a-x | ??-??-??- | ??-??-??- | ??-??-??- |
a=rX | r--r--r-- | r--r--r-- | r-xr-xr-x |
u+w | rw-r--r-- | rw-r--r-- | rwxr-xr-x |
如果我们省略该a-x
步骤,则将设置可执行文件\xe2\x80\x99s 位之一x
(否则\xe2\x80\x99 将不是可执行文件),并且该a=rX
步骤将像目录一样处理它。
如果您更喜欢用 \xe2\x80\x9cread、write、execute\xe2\x80\x9d 进行推理,那么a=r,u+w,a+X
可能更容易理解:
步 | 常规文件 | 可执行文件 | 目录 |
---|---|---|---|
a=r | r--r--r-- | r--r--r-- | r--r--r-- |
u+w | rw-r--r-- | rw-r--r-- | rw-r--r-- |
a+X | r--r--r-- | r--r--r-- | rwxr-xr-x |
这在至少某些版本的 macOS 上也能更好地工作,这些版本X
只能通过+
操作来识别,而不是=
.
有关更多上下文,请参阅了解 UNIX 权限和文件类型,并针对其他方法将目录的 find-chmod 和常规文件的 find-chmod 结合起来。
\n