Chmod似乎不适用

我有一个脚本,我定期运行,重新申请FACL和chmod的游戏服务器运行的主目录的权限。

该脚本首先发出主目录宽recursionchmod,然后chmods某些文件到特定值(首先所有文件被设置为770,然后进行其他更改)。

脚本的相关位:

for d in */; do < server verification and type checking > chmod -R 770 ${d%/} chmod 771 ${d%/} chmod 775 ${d%/}/$gamedir < ... chmodding unrelated game asset directories for webserver access ... > for k in "${BLOCK_DIRS[@]}"; do if [ -d "$k" ]; then echo -e "${CYAN}Checking $(pwd)/$k...${NC}" echo -e "${RED}Debug: chmod -R 1700 $(pwd)/$k${NC}" chmod -v 1700 "$(pwd)/$k" chmod -R 0700 "$(pwd)/$k" fi done done 

示例输出:

 mode of '/home/servers/tf_test/tf/../bin' changed from 0770 (rwxrwx---) to 1700 (rwx-----T) 

但是,目录权限只会在第一个循环中的最后一个服务器上发生更改。 也就是说,第一个for循环中有9个服务器,只有最后一个通过inner for循环获取更改。

同样的命令手动发布工作绝对好。 我究竟做错了什么?

(也是,这是我的第一个问题 – 如果我没有说重要的东西 – 请纠正我,我会编辑相应的问题)

ls不显示所有者组的访问标志 – 它显示了最高的组访问权限,而且我也欺骗了。 我也在脚本中重新排列了chmod,所以他们首先chmod目录的内容,然后是目录本身,现在sticky位工作。
至于ls组的权限问题。

 foo@bar:/foo# ls -lha game_server | grep bin drwxrwx--T+ 2 gameaccount gameaccount 4.0K Dec 21 20:56 bin foo@bar:/foo# 

该目录由gameaccount拥有,它看起来像拥有它的组gameaccount有7个权限位,对吧? 错误

 foo@bar:/foo# getfacl game_server/bin # file: game_server/bin # owner: gameaccount # group: gameaccount # flags: --t user::rwx group::--- group:root:rwx mask::rwx other::--- 

问题可以被closures – 我只是没有显示我预期的权限位。