Answers:
一种方法是使用find:
find /desired_location -type d -print0 | xargs -0 chmod 0755
find /desired_location -type f -print0 | xargs -0 chmod 0644
sudo find /your/location -type f -exec chmod 644 {} \;
文件和sudo find /your/location -type d -exec chmod 755 {} \;
目录
chmod -R a=r,u+w,a+X /foo
?
unable to execute /bin/chmod: Argument list too long
最简单的方法是:
chmod -R u+rwX,go+rX,go-w /path/to/dir
这基本上意味着:
以ch
安格文件mod
上课-R
给予ecursively:
u
ser:r
ead,w
rite和X
eecute权限,g
roup和o
ther用户:r
ead和e X
ecute权限,但不是-w
rite权限。请注意,这X
将使目录成为可执行文件,而不是文件,除非该目录已经可搜索/可执行。
+X
-如果任何人已经可以搜索/执行目录或文件,则该目录或文件可以被所有人搜索/执行。
请检查man chmod
更多详细信息。
另请参阅:如何对文件以外的所有目录进行chmod(递归)?在SU
我能想到的最短的是:
chmod -R a=r,u+w,a+X /foo
可以在GNU / Linux上使用,我一般也相信Posix(根据我的阅读:http : //pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html)。
这是什么:
重要的是,步骤1权限清除了所有执行位,因此步骤3仅添加了目录(从不文件)的执行位。此外,所有这三个步骤都发生在将目录递归之前(因此,这不等同于例如
chmod -R a=r /foo
chmod -R u+w /foo
chmod -R a+X /foo
由于a = r从目录中删除了x,因此chmod无法递归到其中。)
他们在 https://help.directadmin.com/item.php?id=589上写道:
如果您需要一种快速的方法将目录的public_html数据重置为755,将文件重置为644,则可以使用以下方法:
cd /home/user/domains/domain.com/public_html
find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;
我进行了测试,...有效!
这对我有用:
find /A -type d -exec chmod 0755 {} \;
find /A -type f -exec chmod 0644 {} \;
find /A -type X -exec chmod Y '{}' \;
如果您需要一种快速的方法将目录的public_html数据重置为755,将文件重置为644,则可以使用以下方法:
cd /home/user/domains/domain.com/public_html
find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;
另外,如果您知道PHP以用户身份而不是以“ apache”身份运行,则可以将PHP文件设置为600,以提高安全性,例如:
find . -type f -name '*.php' -exec chmod 600 {} \;
您可以在这里找到此资源:https ://help.directadmin.com/item.php ? id = 589
这也可以工作:
chmod -R 755 * // All files and folders to 755.
chmod -R 644 *.* // All files will be 644.