如何更改文件夹及其子文件夹/文件的权限?[关闭]
- 2024-09-30 15:23:00
- admin 原创
- 90
问题描述:
如何更改文件夹及其所有子文件夹和文件的权限?
这仅适用于/opt/lampp/htdocs
文件夹,不适用于其内容:
chmod 775 /opt/lampp/htdocs
如何设置chmod 755
文件夹的当前所有 /opt/lampp/htdocs
内容,以及将来自动设置在该文件夹下创建的新文件夹/文件?
解决方案 1:
其他答案都是正确的,因为这样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 {} ;
一些解释:(感谢@tobbez)
chmod 755 {}
`find`指定将对每个目录执行的命令chmod 644 {}
`find`指定将对每个文件执行的命令{}
被路径替换;
分号表示find
这是要执行的命令的结束;
分号被转义,否则它将被 shell 解释为find
解决方案 2:
检查 -R 选项
chmod -R <permissionsettings> <dirname>
以后,您可以通过先检查手册页来节省大量时间:
man <command name>
因此在这种情况下:
man chmod
解决方案 3:
如果要将所有文件的权限设置为a+r
,将所有目录的权限设置为a+x
,并通过完整的子目录树递归执行此操作,请使用:
chmod -R a+rX *
对于文件,将忽略X
(即大写X
,而不是小写x
!)(除非某些人已经可以执行这些文件),但对于目录,将使用 (即大写,而不是小写!)。
解决方案 4:
您可以使用-R
withchmod
递归遍历所有文件和子文件夹。
您可能需要 sudo,因为它取决于当前用户或其他用户安装的LAMP :
sudo chmod -R 755 /opt/lampp/htdocs
解决方案 5:
正确的递归命令是:
sudo chmod -R 755 /opt/lampp/htdocs
-R
:更改每个子文件夹,包括当前文件夹
解决方案 6:
要设置为所有子文件夹(递归),请使用 -R
chmod 755 /folder -R
解决方案 7:
chmod 755 -R /opt/lampp/htdocs
将递归设置权限。无法仅在此目录中自动设置您设置权限后创建的文件的权限,但您可以通过设置来更改系统范围的默认文件权限umask 022
。
解决方案 8:
您可能需要考虑nik在超级用户上给出的这个答案,并对所有文件/文件夹使用“一个 chmod”,如下所示:
chmod 755 $(find /path/to/base/dir -type d)
chmod 644 $(find /path/to/base/dir -type f)
解决方案 9:
这是将目录设置为 775 并将文件设置为 664 的另一种方法。
find /opt/lampp/htdocs \n( -type f -exec chmod ug+rw,o+r {} ; ) , \n( -type d -exec chmod ug+rwxs,o+rx {} ; )
它可能看起来很长,但是由于以下三个原因它非常酷:
请注意,我尚未确认此解决方案与仅使用两个 find 命令(如 Peter Mortensen 的解决方案)之间的性能差异(如果有的话)。但是,在手册中看到类似的例子令人鼓舞。
页面示例man find
:
find / \n( -perm -4000 -fprintf /root/suid.txt %#m %u %p
) , \n( -size +100M -fprintf /root/big.txt %-10s %p
)
Traverse the filesystem just once, listing setuid files and direct‐
tories into /root/suid.txt and large files into /root/big.txt.
解决方案 10:
使用:
sudo chmod 755 -R /whatever/your/directory/is
但是,请小心谨慎。如果您更改了错误的文件/文件夹的权限,可能会对您造成很大伤害。
解决方案 11:
chmod -R 755 directory_name
可以,但您如何将新文件也保持在 755 呢?文件的权限将成为默认权限。
解决方案 12:
对于 Mac OS X 10.7 (Lion),它是:
chmod -R 755 /directory
是的,正如其他人所说的那样,这样做时要小心。
解决方案 13:
对于仍在努力解决权限问题的人,请cd ..
从项目的根目录向上导航一个目录级别,将您自己(用户)添加到该目录并授予编辑其中所有内容的权限(在 macOS 上测试)。
为此,您可以运行此命令(首选):
sudo chown -R username: foldername .*
注意:对于当前未保存的更改,可能需要先重新启动代码编辑器才能保存而无需输入密码。
此外,请记住,您可以Tab
在输入用户名和文件夹时按下查看选项,以方便操作。
或者简单来说:
sudo chmod -R 755 foldername
但正如上面提到的,使用第二种方法时需要小心。
解决方案 14:
查找文件并应用它们有两个答案chmod
。
第一个是find
文件并chmod
在找到时应用(如@WombleGoneBad 所建议的)。
find /opt/lampp/htdocs -type d -exec chmod 755 {} ;
第二种解决方案是使用命令生成所有文件的列表find
并将该列表提供给chmod
命令(如@lamgesh 所建议的)。
chmod 755 $(find /path/to/base/dir -type d)
只要命令返回的文件数量较少,这两个版本都可以很好地工作find
。第二个解决方案看起来很棒,并且比第一个解决方案更具可读性。如果文件数量很多,第二个解决方案会返回错误:Argument list too long.
所以我的建议是
chmod -R 755 /opt/lampp/htdocs
如果您想一次性更改所有文件和目录的权限,请使用。find /opt/lampp/htdocs -type d -exec chmod 755 {} ;
如果您使用的文件数量非常大,请使用此选项。此-type x
选项仅搜索特定类型的文件,其中 d 用于查找目录,f 用于查找文件,l 用于查找链接。chmod 755 $(find /path/to/base/dir -type d)
否则使用在任何情况下最好使用第一个
解决方案 15:
您需要确保适当的文件和目录已进行 chmod 操作/权限适当。对于您想要的所有目录
find /opt/lampp/htdocs -type d -exec chmod 711 {} ;
对于所有图像、JavaScript、CSS、HTML...嗯,你不应该执行它们。所以使用
chmod 644 img/* js/* html/*
但是对于所有逻辑代码(例如 PHP 代码),您应该设置权限以使用户看不到该代码:
chmod 600 file
解决方案 16:
我认为亚当正在问如何更改尝试对目录进行操作的所有进程的 umask 值/opt/lampp/htdocs
。
用户文件创建模式掩码(umask)用于确定新建文件的文件权限。它可用于控制新文件的默认文件权限。
因此如果您要使用某种 FTP 程序上传文件,则/opt/lampp/htdocs
需要配置您的 FTP 服务器以使用您想要的 umask。
如果需要创建文件/目录,例如通过 PHP,则需要修改 PHP 代码:
<?php
umask(0022);
// Other code
?>
如果您要从 Bash 会话创建新文件/文件夹,则可以在 shell 配置文件~/.bashrc文件中设置 umask 值。
/etc/bashrc
或者您可以为所有用户在或文件中设置 umask /etc/profile
。
将以下内容添加到文件:
umask 022
Sample umask Values and File Creation Permissions
If umask value set to User permission Group permission Others permission
000 all all all
007 all all none
027 all read / execute none
要更改已创建文件的权限,您可以使用find。
解决方案 17:
您可以使用以下命令更改权限:
sudo chmod go+rwx /opt/lampp/htdocs
解决方案 18:
使用:
sudo chmod -R a=-x,u=rwX,g=,o= folder
所有者为 rw,其他人无权访问,目录为 rwx。这将清除文件上现有的“x”。
符号 chmod 计算在Chmod 744中解释。
解决方案 19:
这非常简单。
在终端中,转到文件管理器。示例:sudo nemo
。转到/opt/
,然后单击属性→权限。然后是其他。最后,将创建和删除以及文件访问权限更改为读写,然后单击应用按钮... 即可。
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件