如何在Linux中的所有子目录上强制使用CURRENT目录权限?

Rol*_*olf 5 linux permissions shell

我经常遇到这样的情况:我以root用户身份登录Shell(已经被告知这是一种不好的做法),然后将新文件复制到apache服务的某个目录中。

由于我以root用户身份登录,因此新文件的root用户将设置为owner,并且权限与已存在的文件不同,并且我需要更改Apache的权限才能访问这些文件。我是手动做的。

我正在研究一种更好的方法。我想知道是否有一种方法可以通过一个命令以某种方式将当前文件夹的权限应用于所有子文件夹和文件。

Windows具有此功能,您可以在其中将“所有文件和文件夹权限”重置为父文件夹的权限。

cho*_*oba 5

要获得当前目录的权限,可以使用

stat -c %a .
Run Code Online (Sandbox Code Playgroud)

要递归设置权限,请使用

chomd -R
Run Code Online (Sandbox Code Playgroud)

放在一起,它给

chmod -R `stat -c %a .` .
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用--reference选项(chmod如果支持)。

chmod -R --reference=. .
Run Code Online (Sandbox Code Playgroud)