如何更改文件夹及其所有子文件夹和文件的权限?

这仅适用于/opt/lampp/htdocs文件夹,而不适用于其内容:

chmod 775 /opt/lampp/htdocs

如何为/opt/lampp/htdocs文件夹的所有当前内容设置chmod 755,以及将来自动为其下创建的新文件夹/文件设置chmod?


当前回答

其他答案是正确的,因为chmod-R 755将为树中的所有文件和子文件夹设置这些权限。但你到底为什么要这样做?这可能对目录有意义,但为什么要在所有文件上设置执行位?

我怀疑您真正想做的是将目录设置为755,或者将文件单独保存,或者将它们设置为644。为此,可以使用find命令。例如:

要将所有目录更改为755(drwxr-xr-x):

find /opt/lampp/htdocs -type d -exec chmod 755 {} \;

要将所有文件更改为644(-rw-r-r-),请执行以下操作:

find /opt/lampp/htdocs -type f -exec chmod 644 {} \;

一些splainin:(谢谢@tobez)

chmod 755{}指定find将为每个目录执行的命令chmod 644{}指定find将为每个文件执行的命令{}被路径替换; 分号告诉find它应该执行的命令到此结束\; 分号被转义,否则将由shell而不是find解释

其他回答

chmod-R 755 directory_name可以工作,但如何将新文件保存到755?文件的权限将成为默认权限。

您需要确保适当的文件和目录具有相应的chmod ed/权限。对于所需的所有目录

find /opt/lampp/htdocs -type d -exec chmod 711 {} \;

对于所有的图像,JavaScript,CSS,HTML。。。嗯,你不应该执行它们。所以使用

chmod 644 img/* js/* html/*

但是对于所有的逻辑代码(例如PHP代码),您应该设置权限,以便用户看不到该代码:

chmod 600 file

Use:

sudo chmod -R a=-x,u=rwX,g=,o= folder

所有者rw,其他人没有访问权限,以及带有rwx的目录。这将清除文件上的现有“x”。

chmod 744中解释了符号chmod计算。

要设置为所有子文件夹(递归),请使用-R

chmod 755 /folder -R

选中-R选项

chmod-R<权限设置><目录名>

将来,您可以通过首先查看手册页来节省大量时间:

man <command name>

因此,在这种情况下:

man chmod