ls -l
drwx------ 8 ws web 1024 Apr 29 2013 abc
drwxr-xr-x 8 ws web 1024 Oct 19 2011 def
我需要一些脚本来查找abc
没有组读取/执行权限的目录web
,并授予它们读取/执行权限。
答案1
您可以find
为此使用:
find / -type d -group web -exec chmod g+rx {} +
这稍微低效,因为它还会将那些已经设置了这些组的组设置为 rw。您还可以find
检查某些权限位-perm /mode
并取消匹配。
答案2
这是我前几天为了非常相似的目的而写的一篇文章。假设您理解chown/chmod
,那么就可以适应您的目的。在这种情况下,某些用户帐户嵌套在 userX 帐户下。问题是这些用户上传的文件仍然属于otheruser:otheruser
,因此 userX 无法影响它们,该脚本每分钟运行一次,以确保 userX 完全控制嵌套帐户上传的所有内容。
目录结构示例:/home/userX/otheruser
其中 /home/userX 是 userX 主目录, /home/userX/otheruser 是其他用户主目录。
#!/bin/bash
ls -l /home/userX | grep "^d" | awk '{print$9}' | while read i;
do
chown -R $i:userX /home/userX/$i/*;
chmod -R 775 /home/userX/$i/*;
done