linux 文件夹 775,linux - 如何为文件夹及其所有子文件夹和文件设置chmod?
linux - 如何为文件夹及其所有子文件夹和文件设置chmod?
有没有办法为755设置htdocs及其所有内容,包括子文件夹和文件?
此外,在将来,如果我在htdocs内创建一个新文件夹或文件,它的权限如何自动设置为755?
这有效,但仅适用于此文件夹:
chmod 775 /opt/lampp/htdocs
16个解决方案
2401 votes
其他答案是正确的,因为-rw-r--r--会将这些权限设置为树中的所有文件和子文件夹。 但是为什么你想要呢? 它可能对目录有意义,但为什么要在所有文件上设置执行位?
我怀疑你真正想做的是将目录设置为755并保留文件或将它们设置为644.为此,您可以使用-rw-r--r--命令。 例如:
要将所有目录更改为755(-rw-r--r--):
find /opt/lampp/htdocs -type d -exec chmod 755 {} \;
要将所有文件更改为644(-rw-r--r--):
find /opt/lampp/htdocs -type f -exec chmod 644 {} \;
WombleGoneBad answered 2019-01-12T18:56:48Z
667 votes
检查-R选项
chmod -R
将来,您可以通过首先检查手册页来节省大量时间:
man
所以在这种情况下:
man chmod
Steve Robillard answered 2019-01-12T18:57:29Z
304 votes
如果要将所有文件的权限设置为X,将所有目录设置为X,并通过完整子目录树递归执行,请使用:
chmod -R a+rX *
X(即大写X,不小x!)将被忽略文件(除非它们已经可供某人使用),但用于目录。
Pete answered 2019-01-12T18:57:57Z
113 votes
您可以使用-R和chmod进行所有文件和子文件夹的递归遍历。
您可能需要sudo,因为它取决于当前用户或另一个用户安装的LAMP:
sudo chmod 755 -R /opt/lampp/htdocs
ravi ranjan answered 2019-01-12T18:58:25Z
68 votes
要设置为所有子文件夹(递归),请使用-R
chmod 755 /folder -R
并使用umask将默认设置为新文件夹/文件 cd /文件夹 umask 755
Topera answered 2019-01-12T18:58:53Z
48 votes
chmod 755 -R /opt/lampp/htdocs将递归设置权限。 没有办法仅在设置权限后创建的此目录中自动设置文件权限,但您可以通过设置umask 022更改系统范围的默认文件权限。
sleepynate answered 2019-01-12T18:59:16Z
45 votes
正确的递归命令是:
sudo chmod 755 -R /opt/lampp/htdocs
-R:更改包含当前文件夹的每个子文件夹
Pramendra Gupta answered 2019-01-12T18:59:43Z
23 votes
您可能想要考虑nik在超级用户上给出的答案,并对所有文件/文件夹使用“one chmod”,如下所示:
chmod 755 $(find /path/to/base/dir -type d)
chmod 644 $(find /path/to/base/dir -type f)
Iam Zesh answered 2019-01-12T19:00:05Z
20 votes
使用:
sudo chmod 755 -R /whatever/your/directory/is
但是,要小心。 如果您更改错误文件/文件夹的权限,它真的会伤害您。
Nate Starner answered 2019-01-12T19:00:29Z
19 votes
这是将目录设置为775并将文件设置为664的另一种方法。
find /opt/lampp/htdocs \
\( -type f -exec chmod ug+rw,o+r {} \; \) , \
\( -type d -exec chmod ug+rwxs,o+rx {} \; \)
它可能看起来很长,但它有三个原因很酷:
仅扫描文件系统一次而不是两次。
提供对文件处理方式与目录处理方式的更好控制。 这在使用特殊模式(例如粘滞位)时很有用,您可能希望将其应用于目录而不是文件。
直接使用man find页面中的技术(见下文)。
请注意,我还没有确认此解决方案与仅使用两个find命令之间的性能差异(如果有)(如Peter Mortensen的解决方案)。 但是,在手册中看到类似的例子令人鼓舞。
示例来自man find页面:
find / \
\( -perm -4000 -fprintf /root/suid.txt %#m %u %p\n \) , \
\( -size +100M -fprintf /root/big.txt %-10s %p\n \)
Traverse the filesystem just once, listing setuid files and direc‐
tories into /root/suid.txt and large files into /root/big.txt.
干杯
chrisfargen answered 2019-01-12T19:01:35Z
11 votes
chmod -R 755 directory_name有效,但是如何将新文件保存到755呢? 文件的权限成为默认权限。
Sanchit Gupta answered 2019-01-12T19:01:56Z
10 votes
您希望确保适当的文件和目录是chmoded /权限。 对于您想要的所有目录
find /opt/lampp/htdocs -type d -exec chmod 711 {} \;
对于所有图像,JavaScript,CSS,HTML ......好吧,你不应该执行它们。 所以用
chmod 644 img/* js/* html/*
但对于所有逻辑代码(例如PHP代码),您应该设置权限,以便用户无法看到该代码:
chmod 600 file
NikolaiDante answered 2019-01-12T19:02:31Z
7 votes
对于Mac OS X 10.7(Lion),它是:
chmod -R 755 /directory
是的,正如所有其他人所说,做这件事时要小心。
wmartin answered 2019-01-12T19:03:01Z
6 votes
我想Adam正在询问如何为所有在/etc/bashrc目录上运行的进程更改umask值。
用户文件创建模式掩码(umask)用于确定新创建文件的文件权限。 它可用于控制新文件的默认文件权限。
因此,如果您使用某种ftp程序将文件上传到/etc/bashrc,则需要配置您的ftp服务器以使用您想要的umask。
如果文件/目录例如由php创建,则需要修改php代码
umask(0022);
// other code
?>
如果你要从bash会话创建新的文件/文件夹,你可以在你的shell配置文件中设置umask值〜/ .bashrc或者,您可以为所有用户在/etc/bashrc或/etc/profile文件中设置umask。将以下内容添加到文件中: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。希望这可以帮助。
Viktor answered 2019-01-12T19:03:55Z
4 votes
找到文件并将chmod 755 $(find /path/to/base/dir -type d)应用于它们有两个答案。 第一个是-type x文件,并在找到时应用chmod(由@WombleGoneBad建议)。
find /opt/lampp/htdocs -type d -exec chmod 755 {} \;
第二种解决方案是使用chmod 755 $(find /path/to/base/dir -type d)命令生成所有文件的列表,并将此列表提供给-type x命令(由@lamgesh建议)。
chmod 755 $(find /path/to/base/dir -type d)
只要chmod 755 $(find /path/to/base/dir -type d)命令返回的文件数量很少,这两个版本都可以正常工作。 第二个解决方案看起来很棒,比第一个解决方案更具可读性。 如果有大量文件,则第二个解决方案将返回错误:-type x
所以我的建议是
如果要一次更改所有文件和目录的权限,请使用chmod 755 $(find /path/to/base/dir -type d)。
如果您使用的文件数量非常大,请使用chmod 755 $(find /path/to/base/dir -type d)。 -type x选项仅搜索特定类型的文件,其中d用于查找目录,f用于文件,l用于链接。
否则请使用chmod 755 $(find /path/to/base/dir -type d)
最好在任何情况下使用第一个
Prabhu answered 2019-01-12T19:05:02Z
2 votes
这很简单。
在终端中转到文件管理器。 例如:sudo nemo。转到/opt/然后单击属性→权限。 其他。 最后,更改为创建和删除以及文件访问以进行读取和写入,然后单击按钮应用...并且工作。
Debian. answered 2019-01-12T19:05:32Z
总结
以上是生活随笔为你收集整理的linux 文件夹 775,linux - 如何为文件夹及其所有子文件夹和文件设置chmod?的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: SLB负载均衡配置
- 下一篇: Stm32MP157-Linux(Ubu