我正在准备公开考试,看看这个问题 (pt-BR) 在回答之前,我阅读了有关 chmod 的内容,并了解到权限分为 3 组(用户、组、其他),如下所示:
Nível u g o
Permissão rwx r-x ---
Binário 111 101 000
Octal 7 5 0
那么,为什么权限字符串中有超过 9 (3x3) 个字符 (-r--rwx-rw-)
答案1
那就是 476。记住的一个好方法是,read 的值为 4,write 的值为 2,execute 的值为 1。
此外,第一个号码专用于所有者,第二个号码专用于组,第三个号码专用于其他人。
owner group other
Read 4 4 4
Write 2 2 2
Execute 1 1 1
当有更多特权时,您可以将这些数字加在一起。所以 rx 是 5,因为 4+1 逻辑上是 5
另外,rwxrwxrwx 之前的字母(有时显示为 -)是文件类型。当你看到类似 drwxrw-r-- 的东西时; D 表示目录。请注意,当使用 列出时ls -l
,所有目录的权限字符串开头都有 d,并且所有文件都有-。
除了 d 和破折号 (-) 之外,还有 s 表示套接字、l 表示符号链接、c 和 b 表示设备文件、D(大写)表示门、p 表示命名管道。
不必太担心 Doors,因为它们目前仅在 Solaris 操作系统中实现。
答案2
要么在下表中的“解释”字段中阅读您想要执行的操作,要么执行 ls -l 并查看其含义。每个对象(文件、目录、套接字、设备等)都有 10 个位置来指示该对象的可能性。例如,您可以看到 -rwxr-x---。您可以将这 10 个位置分为以下部分:
这1st 字符:它是什么类型的对象;-对于文件,d对于目录,s对于插座。
这2直到并包括4第一个字符:权限为了所有者的对象。
这5th 直到(包括)7第一个字符:权限为了团体拥有该对象。
这8th 直到(包括)10第一个字符:权限为了其他的。
Numeric Readable Explanation
0 --- No access.
1 --x Execute access.*
2 -w- Write access.**
3 -wx Write and execute access.***
4 r-- Read access.
5 r-x Read and execute access.
6 rw- Read and write access.
7 rwx Read, write and execute access.