答案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 {} \;
如果您的用户应该能够创建新文件和/或子目录,请提供更多详细信息,因为解决方案取决于具体要求。