如何递归地为某个目录下的所有文件添加读取权限

Hai*_*ang 2 linux

我在 linux 下。默认情况下,其他用户无法读取我的主目录下的任何内容。让我们看看我的主目录是 /home/superman ,我尝试使用

chmod +r /home/superman
Run Code Online (Sandbox Code Playgroud)

让其他人可以访问我的主目录下的文件,但它不起作用。

Joh*_*n T 6

使用-R开关递归修改权限:

chmod +r /home/超人 -R

但是如果他们不能进入更深的目录,这当然没有用,因此您可能还希望为其他用户授予对目录的执行访问权限。不过,根据您当前的 umask 值,这可能不是必需的:

find /home/superman -type d -exec chmod +x {} \;

如果您只希望他们能够读取您的主目录中的内容,而没有更多内容:

find /home/superman -maxdepth 1 -type f -exec chmod +r {} \;

  • 代替第一个 `find`,你通常可以使用 `chmod -R +rX /home/superman` - 它只会为目录添加 +x。 (4认同)