linux 文件和目录权限

linux 文件和目录权限

1、权限基础知识

首先,我们要知道文件/目录重要的3种权限: 读、写、执行

在 linux 下三种权限分别会被表示为:

  • 读:r (read) 或者 数字形式 4 (2的2次方)

  • 写:w (write) 或者 数字形式 2 (2的1次方)

  • 执行:x (execute) 或者 数字形式 1 (2的0次方)

  • 还有一个特殊的:- 表示没有任何权限 或者也可以用 数字 0 表示

2、查看文件权限

可以使用 shell 命令:

ls -l  # 或者 ls ll  或者是 la -al

当我们运行命令:

$ ls -al
...
-rw-r--r-- 1 root root     4154 Dec 27 11:07 .bashrc
drwx------ 1 root root      512 Dec 27 15:21 .cache/
...

我们以 -rw-r--r-- 1 root root 4154 Dec 27 11:07 .bashrc 为例子做讲解:

  1. -rw-r--r-- 文件的类型以及权限属性
  2. 1 表示文件节点数
  3. root root 用空格隔开的两个root 其实表示的东西是不一样的 第一个 root 表示文件的拥有者为 root 用户 , 第二个 root 则表示文件所属的组是 root ,所属用户和所属组都可以是不同的。
  4. 4154 表示的是文件的大小,默认单位是byte, 可以通过命令 ls -lh 更加人性化地查看文件大小
  5. Dec 27 11:07文件最后修改时间
  6. .bashrc 表示文件/目录名称 另注:linux 文件系统中 . 开头的文件/目录 为隐藏目录

那么 drwx-------rw-r--r-- 又表示什么呢?我们来详解一下

这些字符其实是按照字符个数(1,3,3,3)表示四个不同的意义,我们以 drwx------为例:

首先第一部分一个字符:d 表示此 "文件" 是一个目录, 那么如果是 - 则表示 此 "文件" 是一个文件

第二部分三个字符:wrx 这部分表示此文件拥有者对此文件的权限 又读写执行(write read exe..)

第三部分三个字符:--- 这部分按照顺序也应是 wrx 不过这里的三个横杠表示文件所属组没有任何权限

第四部分三个字符:表示组外成员的权限,发挥作用同上。

另外补充:

第一部分一个字符所表示的:

  • d:目录
  • -:文件
  • l:连接文件,即快捷方式
  • b:可供存储的接口设备,如 /dev/sda
  • c:串行接口设备,如鼠标、键盘
  • s:数据接口文件,资料接口文件,通常被用在网络上的数据惩戒,在 /var/run 中可以看到
  • p:数据输送文件,主要目的是解决多个程序同时存取一个文件造成的错误问题