2018-05-23 10:13:27 +0000 2018-05-23 10:13:27 +0000
62
62

Linux - 如何递归chmod一个文件夹?

如何递归chmod一个文件夹内的所有文件?

例如,我有一个名为var的文件夹,其中包含许多子文件夹和文件。

如何递归应用 chmod 755 到这个文件夹及其所有内容?

答案 (1)

102
102
102
2018-05-23 10:19:11 +0000

请参考手册(man chmod):

-R, --recursive
change files and directories recursively

chmod -R 755 /path/to/directory会执行你想要的。

然而……

1.你通常不希望755所有的files;这些应该是644,因为它们通常不需要可执行。因此,你可以用find /path/to/directory -type d -exec chmod 755 {} \;来只改变目录权限。使用-type fchmod 644来应用文件的权限。

  1. 这将覆盖任何现有的权限。对于/var来说,这不是一个好主意–那个文件夹已经被系统设置了正确的权限。例如,/var中的一些目录需要775的权限(例如,/var/log)。

所以,在做sudo chmod之前–尤其是在系统文件夹上–先暂停一下,想想是否真的需要这样做。