少于 1 分钟阅读

linux 文件权限概念

linux 文件权限主要是为了保护文件限制用户访问,主要分为3个部分所有者权限,同组权限,其他用户权限。

查看文件权限

命令

ll

或者

ls -l

权限详情

执行完上面的命令之后会看到类似这样的

drwxr-xr-x 2 root    root 4.0K Nov 27 06:57 as
-rwxrw-r-- 1 vagrant root    5 Apr 24  2023 a.txt

这里解释一下

d|rwxr-xr-x|2|root root

上面的信息分为主要分为4部分

第一部分表示的是文件的类型

  1. -:普通文件
  2. d:目录dirtectory的缩写(目录或者是特殊文件,这个特殊文件存放其他文件或目录的相关信息)
  3. l:链接文件。link(链接)的缩写,类似于windows下的快捷方式。
  4. b:块设备文件(block) ,一般置于/dev目录下,设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件。没有文件大小,只有一个主设备号和一个辅设备号。一次传输数据为一整块的被称为块设备,如硬盘、光盘等。最小数据传输单位为一个数据块( 通常一个数据块的大小为512字节)。
  5. c:字符设备文件(character),一般置于/dev目录下,一次传输一个字节的设备被称为字符设备,如键盘、字符终端等,传输数据的最小单位为一个字节。
  6. p:命令管道文件。与shell编程有关的文件。
  7. s:sock文件。与shell编程有关的文件。

第二部分9个字母代表文件或目录权限位

  1. 三种权限
    • r表是读 (Read) 、w表示写 (Write) 、x表示执行 (execute) 。
    • 其中,前3字母表示拥有者(owner,缩写u)权限,中间3字母表示所属组(group,缩写g)的其他用户权限,末3位表示除同组外其他用户( others,缩写o)权限。
    • 每3位是一个二进制数,即权重依次为4 2 1,因此:
      111表示数7,即用户拥有rwx权限
      110表示数6,即用户拥有rw权限
      101表示数5,即用户拥有rx权限
  2. 对于文件和目录来说,r,w,x有着不同的作用和含义:
    • 针对文件:
      r:读取文件内容
      w:修改文件内容
      x:执行权限对除二进制程序以外的文件没什么意义
    • 针对目录:目录本质可看做是存放文件列表、节点号等内容的文件
      r:查看目录下的文件列表
      w:删除和创建目录下的文件
      x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)
    • 权限顺序
      用户获取文件权限的顺序: 先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。

第三部分

是连接数指的是当前正在运行的进程或者服务所建立的网络连接数量

第四部分

分别指的是所属用户 所属用户组

设置文件权限属性

chgrp:更改文件属组

语法:

chgrp [-R] 属组名 文件名

参数选项

  • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改。

chown:更改文件所有者(owner),也可以同时更改文件所属组。

语法:

chown [–R] 所有者 文件名
chown [-R] 所有者:属组名 文件名

chmod:更改文件9个属性

chmod 有两种方式设置权限,一种是数字,一种是符号。

数字设置

语法:

 chmod [-R] xyz 文件或目录

选项与参数:

  • xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
  • -R : 进行递归(recursive)的持续变更,以及连同次目录下的所有文件都会变更

符号设置

那么我们就可以使用 u, g, o 来代表三种身份的权限。

此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:

chmod u +(加入) r 文件或目录
  g -(除去) w  
  o =(设定) x  
  a      

如果我们需要将文件权限设置为 -rwxr-xr– ,可以使用 chmod u=rwx,g=rx,o=r 文件名

参考文章

https://www.runoob.com/linux/linux-file-attr-permission.html https://blog.csdn.net/wq_0708/article/details/121787529