Linux:仅对目录设置权限[已关闭]

关闭。此问题不符合堆栈溢出准则。它目前不接受答案。

<hr class=“my12大纲无baw0 bb bc-POWER-400”/

想改进此问题吗?更新问题,使其成为堆栈溢出的主题。

两个月前关闭

社区在两个月前审查了是否重新打开此问题,并将其关闭:

原始关闭原因未解决

改进这个问题

我必须将apache中htdocs目录的权限更改为某个组,并具有特定的读/写/执行权限

目录需要有775个权限,文件需要有664个权限

如果我对htdocs执行递归664,那么所有文件和目录都将更改为664

我不想手动更改目录

有没有办法只更改文件或目录

chmod本身实际上可以做到这一点;X符号权限意味着“执行,如果有意义的话”,这通常意味着对目录而不是文件执行。因此,您可以使用:

chmod-ru=rwX,go=rX/path/to/htdocs

唯一的潜在问题是,如果任何普通文件已经设置了执行集,chmod假定它是故意的并保留它。如果这是一个潜在问题并且您有GNU版本的chmod(即您在Linux上),您可以让它删除任何错误的执行权限,如下所示:

chmod-ra-x,u=rwX,go=rX/path/to/htdocs

不幸的是,这个技巧不适用于chmod的bsd(/macOS)版本(我不确定其他版本)。这是因为bsd版本基于“原始”(未修改)应用X权限模式&quot;,即在a-x修改完成之前是否有任何执行位(参见man页面)

发表评论