在我们的一些RHEL Server 7.2虚拟机上,我们遇到了一个奇怪的问题:
执行sudo chmod -R +rx不会更改任何子目录的读取/目录标志。 但是,执行sudo chmod -R a+rx可以正常工作。 例如下面的java-agent文件夹:
ls -la appdynamics/ drwxr-xr-x 4 appdynamics appdynamics 43 May 6 03:54 . drwxr-xr-x. 8 root root 4096 May 5 16:56 .. drwx------ 3 root root 30 May 5 16:56 java-agent drwxr-xr-x 3 root root 17 May 6 03:54 machine-agent sudo chmod -R +rx appdynamics ls -la appdynamics drwxr-xr-x 4 appdynamics appdynamics 43 May 6 03:54 . drwxr-xr-x. 8 root root 4096 May 5 16:56 .. drwx------ 3 root root 30 May 5 16:56 java-agent drwxr-xr-x 3 root root 17 May 6 03:54 machine-agent sudo chmod -R a+rx appdynamics ls -la appdynamics drwxr-xr-x 4 appdynamics appdynamics 43 May 6 03:54 . drwxr-xr-x. 8 root root 4096 May 5 16:56 .. drwxr-xr-x 3 root root 30 May 5 16:56 java-agent drwxr-xr-x 3 root root 17 May 6 03:54 machine-agent
据我所知, chmod +rx默认为a+rx ,但是不在我们的一些盒子上,只有在RHEL7.2上(6.8似乎很好)。
我从来没有见过这个,谷歌search似乎没有任何提示。 这是一个问题,因为它打破了现有的厨师食谱,但只为less数机器。
chmod +rx和chmod a+rx不是一回事。 前者尊重umask设置(即不会设置umask位),而后者则不是。 看来你的umask被设置为0077 ,或类似的东西。