我在网络中移动某些文件时遇到问题,似乎是由文件权限引起的.
目前我有这个权限drwxrwxrwx的文件夹.
我需要运行一个bash脚本来更改drwx — r-x的权限
ACL需要在那里.
我不太明白如何使用CHMOD命令实现相同的权限.我到目前为止尝试过:
chmod -R ugo = rx“file”
但这似乎改为dr-xr-xr-x,这还不够……
所以问题是,我应该运行哪个命令来实现drwx — r-x ??
提前致谢.
PS.此命令必须在MACOSX Maveriks中运行,因此“setfacl”命令无效.
权限drwx — r-x分解如下:
当然,> d是一个目录.
> rwx表示用户可读,可写和可访问.这三个比特可以用八进制数7表示.
> —表示未为分配给目录的组设置上述三个位.没有设置位,因此八进制数为0.
> r-x表示与前两个类别(即其他人或“其他”)不匹配的用户可以读取和访问目录的内容,但无法写入目录.这里的位在ones列和fours列中,因此表示此权限的八进制数为5.
>表示存在与此目录关联的“扩展安全信息”,该信息未以标准ls“长格式”显示.例如,访问控制列表.
要设置此目录的基本权限,您可以使用八进制简写:
$chmod 705 directoryname
或者您可以使用“符号”表示:
$chmod u+rwx,g-rwx,o+rx-w directoryname
显然,简写是……更短.
对于由此表示的扩展安全性信息,您需要找出为复制它而设置的内容. ls命令有一个-e选项,可以显示扩展安全设置.
要从命令行实际设置ACL,您可以使用chmod’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