如何更改文件夹及其所有子文件夹和文件的权限?
这仅适用于/opt/lampp/htdocs文件夹,而不适用于其内容:
chmod 775 /opt/lampp/htdocs
如何为/opt/lampp/htdocs文件夹的所有当前内容设置chmod 755,以及将来自动为其下创建的新文件夹/文件设置chmod?
如何更改文件夹及其所有子文件夹和文件的权限?
这仅适用于/opt/lampp/htdocs文件夹,而不适用于其内容:
chmod 775 /opt/lampp/htdocs
如何为/opt/lampp/htdocs文件夹的所有当前内容设置chmod 755,以及将来自动为其下创建的新文件夹/文件设置chmod?
当前回答
查找文件并对其应用chmod有两种答案。
第一个方法是找到文件,并根据找到的文件应用chmod(正如@WombleGoneBad所建议的那样)。
find /opt/lampp/htdocs -type d -exec chmod 755 {} \;
第二种解决方案是使用find命令生成所有文件的列表,并将该列表提供给chmod命令(如@lamgesh所建议的)。
chmod 755 $(find /path/to/base/dir -type d)
只要find命令返回的文件数量很少,这两个版本都能很好地工作。第二种解决方案看起来很好看,比第一种更易读。如果有大量文件,第二个解决方案将返回错误:参数列表太长。
所以我的建议是
如果要同时更改所有文件和目录的权限,请使用chmod-R 755/opt/lampp/htdocs。使用find/opt/lamp/htdocs-type d-exec chmod 755{}\;如果您使用的文件数量非常大。-type x选项仅搜索特定类型的文件,其中d用于查找目录,f用于文件,l用于链接。否则使用chmod 755$(find/path/to/base/dir-type d)在任何情况下都最好使用第一个
其他回答
如果要将所有文件的权限设置为+r,将所有目录设置为+x,并通过完整的子目录树递归执行此操作,请使用:
chmod -R a+rX *
X(即大写的X,而不是小写的X!)对于文件被忽略(除非它们已经可以为某人执行),但用于目录。
正确的递归命令是:
sudo chmod -R 755 /opt/lampp/htdocs
-R: 更改每个子文件夹,包括当前文件夹
要设置为所有子文件夹(递归),请使用-R
chmod 755 /folder -R
chmod-R 755 directory_name可以工作,但如何将新文件保存到755?文件的权限将成为默认权限。
Use:
sudo chmod -R a=-x,u=rwX,g=,o= folder
所有者rw,其他人没有访问权限,以及带有rwx的目录。这将清除文件上的现有“x”。
chmod 744中解释了符号chmod计算。