%20%E8%AE%BE%E7%BD%AE%E5%85%A8%E5%B1%80%E5%8F%AF%E6%B5%8F%E8%A7%88%E6%9D%83%E9%99%90%EF%BC%8C%E4%BD%86%E4%BD%BF%E9%99%A4%E6%89%80%E6%9C%89%E8%80%85%E5%92%8C%E7%BB%84%E6%88%90%E5%91%98%E4%B9%8B%E5%A4%96%E7%9A%84%E6%89%80%E6%9C%89%E4%BA%BA%E9%83%BD%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE%E6%96%87%E4%BB%B6.png)
答案1
我通常使用以下内容:
find . -type f -print0 | xargs -0 sudo chmod 440
find . -type d -print0 | xargs -0 sudo chmod 555
但是,这没有考虑可执行文件。我正在考虑对文件做这样的事情:
find . -type f -print0 | xargs -0 sudo chmod ug+r ug-w o-rwx
但这仍然是两个命令,我不确定这是否是最好的方法。也许有人有更好的建议。
答案2
好吧,只是不要对目录及其中的文件设置相同的权限:
$ chmod g+rx directory/
$ chmod g= directory/*
在这里,群组成员可以进入并浏览该目录,但他们将无法读取其中的文件。
编辑:关于你的新标题,我建议:
$ chmod a+rx directory/
$ chmod u=rwX,g=rX,o= *
答案3
对于已经创建的目录和文件:
查找/start_directory -type d -exec chmod 755 {} \;
查找/start_directory -type f -exec chmod 660 {} \;
如果您的用户应该能够创建新文件和/或子目录,请提供更多详细信息,因为解决方案取决于具体要求。