如何获得" drwx --- r-x +"使用CHMOD的文件夹权限? - Bash脚本

时间:2015-03-16 02:23:54

标签: macos bash unix chmod

我在网络中移动某些文件时遇到问题,而且似乎是由文件权限引起的。

目前我拥有具有此权限的文件夹drwxrwxrwx。 我需要运行一个bash脚本来更改drwx --- r-x +

的权限

ACL必须在那里。

我不太明白如何使用CHMOD命令获得相同的权限。到目前为止我已尝试过:

chmod -R ugo = rx“file”

但这似乎改为dr-xr-xr-x,这还不够......

所以问题是,我应该运行哪个命令来实现drwx --- r-x + ??

提前致谢。

PS。此命令必须在MACOSX Maveriks中运行,因此“setfacl”命令无效。

1 个答案:

答案 0 :(得分:17)

权限drwx---r-x+细分如下:

  • d当然是一个目录。
  • rwx表示 u ser可读,可写且可访问。这三个位可以用八进制数7表示。
  • ---表示未为分配给目录的 g roup设置上述三个位。没有设置位,因此八进制数为0
  • r-x表示与前两个类别(即其他所有人)或“ o ”匹配的用户可以读取和访问目录,但不能写入它。这里的位在ones列和fours列中,因此表示此权限的八进制数为5
  • +表示存在与此目录关联的“扩展安全信息”,该信息未以标准ls“长格式”显示。例如,访问控制列表。

要设置此目录的基本权限,您可以使用八进制简写:

$ chmod 705 directoryname

或者您可以使用“符号”表示:

$ chmod u+rwx,g-rwx,o+rx-w directoryname

显然,速记是......更短。

对于+表示的扩展安全信息,您需要找出设置的内容才能进行复制。 ls命令具有-e选项,可以显示扩展安全设置。

要从命令行实际设置您的ACL,您需要使用chmod'a =a-a+a选项。有关此内容的文档可在man chmod的OSX中找到。从该手册页:

         Examples
          # ls -le
          -rw-r--r--+ 1 juser  wheel  0 Apr 28 14:06 file1
            owner: juser
            1: admin allow delete
          # chmod =a# 1 "admin allow write,chown"
          # ls -le
          -rw-r--r--+ 1 juser  wheel  0 Apr 28 14:06 file1
            owner: juser
            1: admin allow write,chown