目录中有一个名为Joomla
inside 的目录/opt/lampp/htdocs
。当我创建该目录时,我做的第一件事就是将其模式更改为:
[root@Feddy htdocs]# chmod 777 Joomla
然后我解压了一个压缩文件放入Joomla
目录中:
unzip -d /opt/lampp/htdocs/Joomla zipfile.zip
但是当我检查我将其访问权限更改为的 Joomla 目录下的目录/文件的权限时777
,它返回:
[root@Feddy Joomla]# ls -l
total 124
drwxr-xr-x. 10 root root 4096 Feb 4 05:35 administrator
drwxr-xr-x. 2 root root 4096 Feb 4 05:35 bin
drwxr-xr-x. 2 root root 4096 Feb 4 05:35 cache
drwxr-xr-x. 2 root root 4096 Feb 4 05:35 cli
drwxr-xr-x. 13 root root 4096 Feb 4 05:35 components
-rw-r--r--. 1 root root 823 Feb 4 05:35 CONTRIBUTING.md
-rw-r--r--. 1 root root 3118 Feb 4 05:35 htaccess.txt
drwxr-xr-x. 5 root root 4096 Feb 4 05:35 images
drwxr-xr-x. 2 root root 4096 Feb 4 05:35 includes
-rw-r--r--. 1 root root 1544 Feb 4 05:35 index.php
drwxr-xr-x. 10 root root 4096 Feb 4 05:35 installation
-rw-r--r--. 1 root root 1889 Feb 4 05:40 joomla.xml
drwxr-xr-x. 4 root root 4096 Feb 4 05:35 language
drwxr-xr-x. 3 root root 4096 Feb 4 05:35 layouts
drwxr-xr-x. 9 root root 4096 Feb 4 05:35 libraries
-rw-r--r--. 1 root root 17816 Feb 4 05:35 LICENSE.txt
drwxr-xr-x. 2 root root 4096 Feb 4 05:35 logs
drwxr-xr-x. 16 root root 4096 Feb 4 05:35 media
drwxr-xr-x. 26 root root 4096 Feb 4 05:35 modules
-rw-r--r--. 1 root root 871 Feb 4 05:35 phpunit.xml.dist
drwxr-xr-x. 13 root root 4096 Feb 4 05:35 plugins
-rw-r--r--. 1 root root 4340 Feb 4 05:35 README.txt
-rw-r--r--. 1 root root 865 Feb 4 05:35 robots.txt
drwxr-xr-x. 5 root root 4096 Feb 4 05:35 templates
drwxr-xr-x. 2 root root 4096 Feb 4 05:35 tmp
-rw-r--r--. 1 root root 1715 Feb 4 05:35 web.config.txt
而对于Joomla
目录我得到:
drwxrwxrwx. 19 root root 4096 Mar 14 20:42 Joomla
为什么目录内的文件目录Joomla
没有与目录Joomla
本身相同的权限?如何赋予Joomla
目录内每个目录文件777
权限?
答案1
因为文件/目录权限不会被继承。它们会根据每个新创建的文件夹进行设置。您可以在创建完所需的所有新文件夹后umask
更改umask
或运行递归。chmod -R
答案2
因为当您应用权限时,文件尚未位于目录中(并且您没有使用chmod -R
选项,因此即使它们位于目录中,权限也不会应用于它们)。使用复制用户的掩码复制(或创建)新文件。您可以使用或使用 ACL 重新应用目录上的权限(使用 -R 表示递归)chmod -R 777 joomla
。
和访问控制列表您可以定义目录中现有文件的权限和新文件的默认权限。