如何使用CHMOD获得“drwx — r-x +”文件夹权限? – Bash脚本

在移动networking中的某些文件时,我遇到了一个问题,似乎是由文件权限造成的。

目前我有这个权限drwxrwxrwx的文件夹。 我需要运行一个bash脚本,将权限更改为drwx — r-x +

ACL需要在那里。

我不太明白如何使用CHMOD命令获得相同的权限。 我已经尝试了迄今为止:

chmod -R ugo = rx“文件”

但是,这似乎改变为dr-xr-xr-x,这是不够的…

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

提前致谢。

PS。 这个命令必须在MACOSX Maveriks中运行,所以“setfacl”命令不起作用。

drwx---r-x+的权限分解如下:

  • 当然, d是一个目录。
  • rwx表示它的可读性,可写性和用户可访问性。 这三位可以用八进制数7
  • ---表示前面提到的三位不是为分配给目录的组而设置的。 没有位被设置,所以八进制数是0
  • rx表示没有与前两个类别(即其他人或“其他”)匹配的用户可以读取和访问目录的内容,但不能写入目录的内容。 这里的位是在第一列和第四列中,所以表示这个权限的八进制数是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