我不明白目录嵌套方面的限制。例如,/var/www/folder/index.html
目录。
- 每个目录和文件应该具有什么权限、所有者、组?
- 有没有这样的事情遗产这里?我的意思是,外部目录的权限、所有者、组是否会影响其内部目录和文件?
这里的所有答案都仅从一个单独的目录和其中的文件的角度来解释权限。没有人关注继承。
例如,我想设置一个 Nginx 服务器来为/var/www/folder
目录及其所有子目录和文件提供服务。我应该如何考虑权限、所有者、组?
/var
- 有什么权限?所有者和组是什么?/var/www
- 有什么权限?所有者和组是什么?/var/www/folder1
- 有什么权限?所有者和组是什么?/var/www/folder/folder2/
- 有什么权限?所有者和组是什么?/var/www/folder/folder2/index.html
- 有什么权限?所有者和组是什么?
答案1
只是提醒:
Ubuntu 创建的文件夹默认权限为 755,文件默认权限为 644。你可以使用 更改此默认值umask
。因此,一般来说,没有文件不会继承其父级权限,而是新创建的文件/目录具有默认权限
回到你的问题:
您对权限感到困惑。我只想让您知道权限与您要执行的操作以及要使用的安全级别有关,因此这与用户本身有关,没有人可以回答您的问题!!
您还必须区分文件夹本身的权限和文件夹内文件的权限。例如,您请求 /var 的权限。那么您指的是 /var 什么?您指的是目录本身还是包含的文件。让我们以此为例来解释我之前所说的内容。让我们看看 /var 包含什么。
$ ls -l /var
total 128
drwxr-xr-x 2 root root 4096 Jul 17 08:18 backups
drwxr-xr-x 27 root root 4096 Jun 2 13:01 cache
drwxrwsrwt 2 root whoopsie 4096 Jul 24 2014 crash
drwxr-xr-x 2 root root 4096 May 20 2014 games
drwxr-xr-x 107 root root 4096 Jul 14 12:25 lib
drwxrwsr-x 2 root staff 4096 Apr 19 2012 local
lrwxrwxrwx 1 root root 9 May 22 12:52 lock -> /run/lock
drwxr-xr-x 31 root root 12288 Jul 23 08:02 log
drwxrwsr-x 2 root mail 4096 Apr 7 2014 mail
drwxr-xr-x 3 root root 4096 Jun 20 2014 NX
drwxr-xr-x 2 root root 4096 Apr 7 2014 opt
-rw-r--r-- 1 root root 65408 Jul 2 10:27 _r_udev_201310127.shm
lrwxrwxrwx 1 root root 4 May 22 12:52 run -> /run
drwxr-xr-x 14 root root 4096 Jun 17 20:29 spool
drwxrwxrwt 3 root root 4096 Jul 23 08:24 tmp
drwxrwxrwx 8 root root 4096 Jun 4 13:16 www
drwxr-xr-x 3 root root 4096 Jun 13 09:10 yp
正如您在上面的示例列表中看到的,有些目录(例如 crash、local 和 mail)的组不是 root!!为什么?因为我之前说过这与使用有关。
所以一般来说,只需使用尽可能保证您安全的权限并让您的系统正常运行。
看看我的回答https://askubuntu.com/a/638799/150504有关权限的更多信息。
答案2
执行ls -l
列出特定目录中所有文件和目录的权限、所有者和组:
ls -l /var
ls -l /var/www
ls -l /var/www/folder1
ls -l /var/www/folder/folder2
index.html 将包含在最后一个目录的列出的内容中,因此不需要命令。
但是,如果你确实想知道该文件的所有权和权限:
ls -l /var/www/folder/folder2/index.html
文件权限按以下格式列出:
-rwxrwxrwx
表示每个人都具有读、写和执行的权限。
对于目录:
drwxrwxrwx
第一个rwx
表示文件所有者的读、写、执行权限。
接下来的三个字符,,rwx
表示文件所列组中所有用户的读、写、执行权限。
最后三个字符,,rwx
表示所有用户的读、写、执行权限。
总共有-rwxrwxrwx
三组字母,每组三个字母。
以下命令例子将允许文件所有者具有完全权限,允许组内其他成员具有只读权限,允许任何其他用户具有只读权限(-rwxr--r--
):
chmod 744 /var/www/folder/folder2/index.html
或者,如果要将权限应用于特定目录中的所有文件和目录,请使用 -R 标志在整个目录中递归应用权限:
chmod -R 744 /var/www/folder/folder2
或者,将权限应用于所有包含的文件并递归应用于所有子目录:
chmod -R 744 /var/www/folder/folder2/*
该数字7
与相吻合rwx
。
号码6
相符rw-
,且不允许执行。
号码5
相符r-x
,且不允许写入权限。
该数字与只读4
一致。r--
數字3
重合-wx
,且不允許讀取檔案。
该号码2
与之相一致,-w-
并且是只写的。
该数字1
与之相一致--x
,并且是只可执行的。
一个常见的组合是 664,它授予文件所有者和组成员读写权限,授予所有其他用户的只读权限,并且没有执行文件的权限:-rw-rw-r--