0基础纯新手小白也能成大神 之 Linux系统权限管理

linux系统权限管理

目录

linux系统权限管理

一、普通权限

1、概述

1.1 权限类型

1.2 文件访问者的分类

1.3 文件类型

1.4 文件属性信息

2、普通权限管理命令

2.1 chmod

2.2chown

2.3 umask

二、特殊权限

1、类型

SUID(4777)

SGID权限(2777)

SBIT权限(1777)

三、 ACL权限

1、概述

2、管理命令

2.1 setfacl

2.2 getfacl


一、普通权限

1、概述

1.1 权限类型
  • 可读(read): r

读取文件内容

  • 可写(write):w

写入内容,删除内容

  • 可执行(execute):x

执行文件;运行(进入)文件

  • — 没有权限

排列方式 终端下 二进制 八进制
只读 r-- 100 4
只写 -w- 010 2
只执行 --x 001 1
可读可写 rw- 110 6
可读可执行 r-x 101 5
可写可执行 -wx 011 3
可读可写可执行 rwx 111 7
没任何权限 --- 000 0
1.2 文件访问者的分类

在一个文件(目录)中,通常分3种访问者

  • 文件所有者:u (user)owner ,属主

  • 文件所有者的所属组: g (group) , 属组

  • 其他用户: o (other) 除属主及其组内成员之外的其他用户

1.3 文件类型
  • d : 目录

  • -: 普通文件

  • b : 块设备文件 (硬盘、光驱)

  • p : 管道文件

  • c : 字符设备文件 (屏幕等串口设备)

  • l : 链接文件

  • s : 套接口文件

1.4 文件属性信息
[root@localhost ~]# ls -l
drwxr-xr-x. 2 root root    6 5月  19 14:35 dir1
文件类型 硬链接数 属主 属组  大小 创建日期  时间  文件名
属主可读可写可执行 属组可写可执行 其他用户可执行 

2、普通权限管理命令

2.1 chmod

改变文件的访问权限,权限的赋予可以使用: + 增加权限; - 删除权限; = 赋予权限(覆盖之前的权限)

-R 改变目录及目录下的内容的访问权限

  • 字符赋权

-rwxr--r--. 1 root root    4 5月  19 14:34 1.txt
​
[root@Wezzer ~]# chmod u+x 1.txt
-rwxr--r--. 1 root root    4 5月  19 14:34 1.txt
​
[root@Wezzer ~]# chmod  a=rwx 1.txt
-rwxrwxrwx. 1 root root    4 5月  19 14:34 1.txt
​
[root@Wezzer ~]# chmod g-x-r 1.txt
-rwx-w-rwx. 1 root root    4 5月  19 14:34 1.txt
​
[root@Wezzer ~]# chmod o=x 1.txt
-rwx-w---x. 1 root root    4 5月  19 14:34 1.txt
  • 数字赋权

-rwx-w---x. 1 root root    4 5月  19 14:34 1.txt
​
[root@Wezzer ~]# chmod 777 1.txt
-rwxrwxrwx. 1 root root    4 5月  19 14:34 1.txt
​
[root@Wezzer ~]# chmod 421 1.txt
-r---w---x. 1 root root    4 5月  19 14:34 1.txt
  • 递归修改目录本身及子目录的权限

drwxr-xr-x. 4 root root   43 5月  19 15:03 dir1
[root@Wezzer ~]# ls -l dir1
-rw-r--r--. 1 root root 4 5月  19 15:03 2.txt
drwxr-xr-x. 2 root root 6 5月  19 15:03 dir2
drwxr-xr-x. 2 root root 6 5月  19 15:03 dir3
​
[root@Wezzer ~]# chmod -R 777 dir1
drwxrwxrwx. 4 root root   43 5月  19 15:03 dir1
[root@Wezzer ~]# ls -l dir1
-rwxrwxrwx. 1 root root 4 5月  19 15:03 2.txt
drwxrwxrwx. 2 root root 6 5月  19 15:03 dir2
drwxrwxrwx. 2 root root 6 5月  19 15:03 dir3
2.2chown

修改文件所有者和组别

  • 改变属主

drwxr-xr-x. 2 root root    6 5月  19 15:14 dir1
​
[root@Wezzer ~]# chown wezzer dir1
drwxr-xr-x. 2 wezzer root    6 5月  19 15:14 dir1
  • 改变属组

drwxr-xr-x. 2 root root    6 5月  19 15:14 dir1
​
[root@Wezzer ~]# chown .wezzer dir1
drwxr-xr-x. 2 root wezzer    6 5月  19 15:14 dir1
  • 改变属主与属组

drwxr-xr-x. 2 root root    6 5月  19 15:14 dir1
​
[root@Wezzer ~]# chown user1.wezzer dir1
drwxr-xr-x. 2 user1 wezzer  6 5月  19 15:14 dir1
  • 递归修改目录本身及子目录文件的属主和属组

drwxr-xr-x. 4 root root   30 5月  19 15:22 dir1
drwxr-xr-x. 2 root root 6 5月  19 15:22 dir2
drwxr-xr-x. 2 root root 6 5月  19 15:22 dir3
​
[root@Wezzer ~]# chown  -R user1 dir1
drwxr-xr-x. 4 user1 root   30 5月  19 15:22 dir1
[root@Wezzer ~]# ls -l dir1
drwxr-xr-x. 2 user1 root 6 5月  19 15:22 dir2
drwxr-xr-x. 2 user1 root 6 5月  19 15:22 dir3
2.3 umask

显示(root用户为0022,普通用户为0002)或设定文件模式掩码,设定用户文件创建掩码为 MODE 模式。如果省略了 MODE,则打印当前掩码的值;

当设置umask掩码为奇数时,针对文件来说具有了x执行权限,与系统默认文件不具有x执行权相冲突,此时,权限较小则进位,权限较大则减位。

目录才有执行权限(最大777) 文件没有执行权限(最大666)

[root@Wezzer ~]# umask
0022

二、特殊权限

SUID(4777)

  • set UID,第3位上表现为s,对应数字为4。

  • 如果该属主权限位上有执行权限,则会显示(小写)s。

  • 如果该属主权限位上没有执行权限,则会显示(大写)S。(也会有执行权限)

  • 只要一个命令文件在属主权限位上的x变成s的话,那么其它用户在执行这个命令文件时,就会以该命令文件的属主用户身份去执行

  • suid仅对二进制可执行程序有效,其它文件或目录无效。

  • 应用场景:用户命令临时提权

drwxr-xr-x. 4 root  root  30 5月  19 15:22 dir1
​
[root@Wezzer ~]# chmod 4777 dir1
drwsrwxrwx. 4 root  root   30 5月  19 15:22 dir1
​
[root@Wezzer ~]# chmod u-x dir1
drwSrwxrwx. 4 root root   30 5月  19 15:22 dir1

SGID权限(2777)

  • set GID,第6位上表现为s,对应数字为2。

  • 如果该属组权限位上有执行权限,则会显示(小写)s。

  • 如果该属组权限位上没有执行权限,则会显示(大写)S。

  • SGID改变的是执行者的所属组,可以对可执行文件和目录设置。一般情况下是设置给目录使用的,通过对目录设置SGID属性,可以使得访问在该目录下创建的所有文件的所有权,都继承原目录的所有者,而非创建者。因为一旦有用户进入到该目录下,由于具有SGID权限,进入目录后的用户就会变成该目录的属组所有者,在该目录下创建的所有文件,都以该目录的所有者的身份创建。

  • 应用场景:用于文件共享

drwxr-xr-x. 4 root root         30 5月  19 15:22 dir1
​
[root@wezzer ~]# chmod 2777  dir1
drwxrwsrwx. 4 root root         30 5月  19 15:22 dir1
​
[root@wezzer ~]# chmod g-x dir1
drwxrwSrwx. 4 root root         30 5月  19 15:22 dir1

SBIT权限(1777)

  • SBIT权限同样只对目录有效,在权限位的最低位表现为t,对应数字为1。

  • 如果该其它用户权限位上有执行权限,则会显示(小写)t。

  • 如果该其它用户权限位上没有执行权限,则会显示(大写)T。

  • 通过对目录设置SBIT权限,并且该目录的权限为777,则所有用户可以在该目录下都可以创建文件,并且文件所有者是自己。但是在SBID权限的目录下,只有root和文件的所有者才能删除该文件,即使文件的属性为777也不能被其他用户删除。

  • sticky目录表现在others 的 x 位,用(小写)t 表示,没有执行权限时(大写)T,一个目录即使使得它的权限为“777” ,如果设置了粘滞位,除了目录的属主和“root”用户有权限删除,其它用户都不允许删除。

  • 应用场景:保护文件的私有性,防止误删除

drwxr-xr-x. 4 root root         30 5月  19 15:22 dir1
​
[root@wezzer ~]# chmod 1777  dir1
drwxrwxrwt. 4 root root         30 5月  19 15:22 dir1
​
[root@wezzer ~]# chmod o-x dir1
drwxrwSrwT. 4 root root         30 5月  19 15:22 dir1

三、 ACL权限

1、概述

对特定的用户赋予权限

2、管理命令

2.1 setfacl

设置文件访问权限列表,即acl

  • -m 修改文件的当前ACL

2.2 getfacl

查看文件的ACL

[root@Wezzer ~]# setfacl -m user:user1:-w- dir4
[root@Wezzer ~]# getfacl dir4
# file: dir4
# owner: root
# group: root
user::rwx
user:user1:-w-
group::r-x
mask::rwx
other::r-x
​

---------------------------------------------------------------------------------------------------------------------------------

你可能感兴趣的:(0基础纯新手小白也能成大神 之 Linux系统权限管理)