我试图找出一种方法设置特定路径和600文件的目录和子目录递归权限700。我会使用这些命令:如何递归地设置权限,700文件夹和600文件,而不使用查找
find/path -type d -print0 | xargs -0 chmod 700
find/path -type f -print0 | xargs -0 chmod 600
但是用户没有权限运行“查找”命令。 作为一种解决方法,我尝试制作一个包含setuid sticky位设置的root用户的上述命令的脚本,以便以root权限运行(例如普通用户以root权限运行的passwd或sudo命令):
chmod 4755 script.sh
但我无法从有限的用户帐户执行脚本,它仍然说我没有运行find命令的权限。
有没有人有任何想法我可以做到这一点,而无需使用“查找”命令?
编辑: OS:Centos的6.5
'chmod'版本不能正常工作,'X'是一个特殊的执行,如果其他模式中至少有一个执行了,它将授予执行权限。这意味着如果文件在用户组或其他文件中已经有'x',那么它将保持用户的执行设置。要仅使用chmod执行此操作,我们必须首先清除所有执行设置,然后运行chmod命令。例如'chmod -R a-x/path; chmod -R u = rwX,g =,o =/path'。 – CMCDragonkai