欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux系统文件权限解析

程序员文章站 2022-06-30 17:13:00
...

1.权限基本知识

在linux中,所有的信息都是以文件形式存在的;linux之所以安全,很大意义上来源于对文件、用户和用户组权限的严格管理,说到文件那么肯定存在文件的所有者,也就是用户User,说到用户,就必须引入用户组Group,在linux中要求每一个用户必须存在于用户组中,不能独立于用户组存在。那么由此展开,权限即引申到用户组权限和用户权限。这里的用户权限一般指文件创建者所拥有的权限。

2.权限查看命令

linux中查看权限的命令: ls -l 或者 ll
linux系统文件权限解析
解释一下结果信息,第一列包含dwxr字符的表示改文件的权限设置信息,具体每一项待会再讲,第二列表示文件数量,第三列表示文件拥有者(在没有变更所属的情况下是创建者),第四列表示拥有者所在用户组,第五列表示文件大小,第六列表示创建时间,第七列文件名。(ps:./当前目录,’../'上级目录)

列个表吧:

列名 权限信息 文件数量 拥有用户 拥有用户所在用户组 文件大小 创建时间 文件名
例: drwxr-xr-x 3 root root 4096 Feb 27 22:21 ./

3.权限信息解读

linux文件权限重要由4部分组成

  • 文件类型(第1位),有三种d(directory)、-、l,d代表文件夹,-代表一般文件,l代表软连接(相当于windows中的快捷方式)
  • 拥有者User权限(第2-4位):由rwx组合
  • 拥有者所在用户组Group权限(第5-7位):由rwx组合
  • 其他用户组Other权限(第8-10位):由rwx组合

这里需要解释一下rwx组合,r(read)读权限,w(write)写权限,x(exec)执行权限。

同时在设置linux权限也可以用数字表示,这时以8进制标识,即范围0-7,与rwx对应规则为r=4,w=2,x=1,rwx即4+2+1=7。在表示文件权限时格式为abc(eg:777,755),a代表文件所有者权限,b代表同组用户权限,c代表其他用户权限。

举个栗子:

1、一个文件夹所有用户用户组都拥有所有权限。
权限代码为d rwx rwx rwx,用数字表示777(4+2+1,4+2+1,4+2+1),意味着所有用户用户组都拥有该文件夹的读、写、执行权限。

2、一般文件只有拥有者和拥有者所在用户组拥有权限,拥有者有所有权限,拥有者所在用户组只有读和执行权限,其他用户组用户没有权限。
权限代码为- rwx r-x —,数组标识为750(4+2+1,4+0+1,0+0+0);

4.权限设置

chmod 命令

有两种形式;
1.数字命令。eg:chmod 777 xxx(文件名,下同)
2.用户组+组合符+rwx权限组合。eg:chmod u=rwx xxx
用户组标识有四种:

  • u 代表拥有者User
  • g 代表拥有者所在用户组Group
  • o 代表其他用户组 Other
  • a 代表所有用户

标识符有三种:

  • +号代表增加权限
  • -号代表移除权限
  • =号代表设置权限

linux系统文件权限解析
通过不同组合可以设置各种权限。

举个栗子:

chmod a+r xxx; // 为所有用户增加读权限
chmod o-rwx xxx; // 移除其他用户组的读写和执行权限
chmod u=rwx,g=rx xxx; // 设置拥有者权限为读写执行,拥有者权限组为读和执行。

linux系统文件权限解析