如何更改文件夹及其所有子文件夹和文件的权限?
这仅适用于/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 755-R/opt/lampp/htdocs将递归设置权限。无法仅在设置权限后创建的目录中自动设置文件的权限,但可以通过设置umask 022来更改系统范围内的默认文件权限。
其他回答
要设置为所有子文件夹(递归),请使用-R
chmod 755 /folder -R
如果要将所有文件的权限设置为+r,将所有目录设置为+x,并通过完整的子目录树递归执行此操作,请使用:
chmod -R a+rX *
X(即大写的X,而不是小写的X!)对于文件被忽略(除非它们已经可以为某人执行),但用于目录。
其他答案是正确的,因为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解释
对于Mac OS X 10.7(Lion),它是:
chmod -R 755 /directory
是的,正如所有其他人所说,做这件事时要小心。
对于仍在权限问题上挣扎的任何人,请导航到一个目录级别的cd。。从项目的根目录中,将自己(用户)添加到目录中,并允许编辑其中的所有内容(在macOS上测试)。
为此,您可以运行以下命令(首选):
sudo chown -R username: foldername .*
注意:对于当前未保存的更改,可能需要首先重新启动代码编辑器,以便能够保存而无需询问密码。
此外,请记住,您可以在键入用户名和文件夹时按Tab键查看选项,以使自己更方便。
或者简单地:
sudo chmod -R 755 foldername
但是如上所述,您需要小心使用第二种方法。