首页 > 代码库 > linux文件权限查看及修改命令chmod

linux文件权限查看及修改命令chmod

查看权限

Linux文件访问权限分为可读,可写和可执行三种。

可用ls -l命令查看,例:

<span style="font-size:18px;">ls -l</span>
显示
-rwxr-xr-x 1 root root 6444 09-22 15:33 shmwrite
-rw-r--r-- 1 root root 1443 09-22 15:33 shmwrite.c
drwxr-xr-x 2 root root 4096 09-22 17:19 test

第一个字符代表文件类型。d代表目录,-代表非目录。

接下来每三个字符为一组权限,分为三组,依次代表所有者权限,同组用户权限,其它用户权限

每组权限的三个字符依次代表是否可读,是否可写,是否可执行

r 表示拥有读的权限

w 表示拥有写的权限

x 表示拥有可执行的权限

- 表示没有该权限


修改权限

可用chmod命令来修改文件权限。

例如:
chmod 754 test

4代表读权限,2代表写权限,1代表执行权限


7=4 + 2 + 1,表示拥有可读可写可执行权限
5=4 + 1,表示拥有可读可执行权限,但是没有写权限
0 代表没有任何权限
以此类推

思考下为什么是4,2,1分别读写执行权限,而不是其它数字?

我们知道计算机最底层编码都是二进制,即0,1。

要表示一个文件读写执行权限,底层只需一个字节,即8位即可。

约定从右数起第3位为1,代表拥有读权限;第2位为1,代表拥有写权限;第1位为1,代表拥有可执行权限。为0,则没有相应的权限。


我们知道二进制转换成十进制,0000 0100 = 4, 0000 0010 = 2, 0000 0001 = 1。即4,2,1分别代表相应二进制位为1,也即拥有相应权限。这也是上面所提问题的原因,这样说大家就更容易记住这些数字代表的意义了

linux文件权限查看及修改命令chmod