linux基础知识(一)

linux系统上的特殊权限

特殊权限位:SUID,SGID,STICKY

1.进程以某用户的身份运行,进程是发起此进程用户的代理,因此以此用户的身份和权限完成所有操作;

2.权限匹配模式

(1)判断进程的属主是否为被访问文件的属主;如是,则应该用属主权限,否则进入第二步;

(2)判断进程的属组,是否属于被访问的文件属组;如果,则应用属组的权限,否则进入第三步;

(3)应用other权限;

SUID

默认情况下:用户发起的进程,进程的属主是其发起者,因此,其以发起者的身份运行;

SUID的功用:用户运行某程序时,如果此程序拥有SUID权限,那么此程序运行为进程时,进程的属主不是发起者,而程序文件自己的属主

例:[root@centos-23 opt]# ll
----------. 1 root root   872 Sep 29 08:23 shadow   --shadow文件u,g,o无任何权限,只有管理员身份可以忽略文件权限限制查看其内容

[root@centos-23 opt]# ll
-rwxr-xr-x. 1 root root 54080 Sep 29 08:26 cat     --cat默认情况是以"权限匹配模式"运行,如果将SUID权限赋予s权限,cat就能以管理员的身份运行,忽略所有文件权限查看内容;

[root@centos-23 opt]# ll
-rwsr-xr-x. 1 root root 54080 Sep 29 08:26 cat     --赋予cat文件以s权限

[test2@centos-23 opt]$ cat shadow
cat: shadow: Permission denied
[test2@centos-23 opt]$ ./cat shadow    --已经可以用管理员的身份访问shadow文件

管理文件权限:chmod u+|-s file

展示位置:属主的执行权限位。如果属主有执行权限,显示为小写s,否则显示为大写S;

SGID通常应用在目录上

例:在设置SGID之前

[test3@centos-23 1]$ ll
-rw-rw-r--. 1 test2 test2 0 Sep 29 09:10 a  --登陆test2用户,创建文件后的属组test2
-rw-rw-r--. 1 test3 test3 0 Sep 29 09:10 b  --登陆test3用户,创建文件后的属组test3

给文件目录“1”设置SGID之后

[root@centos-23 opt]# ll
drwxrwsr-x. 2 root demo    24 Sep 29 09:10 1

[test2@centos-23 1]$ ll
-rw-rw-r--. 1 test2 test2 0 Sep 29 09:10 a
-rw-rw-r--. 1 test3 test3 0 Sep 29 09:10 b
-rw-rw-r--. 1 test3 demo  0 Sep 29 09:11 c   --登陆test2用户,创建文件后的属组为文件目录"1"的属组demo
-rw-rw-r--. 1 test2 demo  0 Sep 29 09:12 d  --登陆test3用户,创建文件后的属组为文件目录"1"的属组demo

功用:目录属组有写权限,且有SGID权限时,那么所属于此目录的属组,且以属组身份在此目录中新建文件或目录时,新文件的属组不是用户的基本组,而是此目录的属组;

管理文件SGID权限:chmod g+|-s file

展示位置:属组的执行权限位,如果属主原本有执行权限,显示为小写s,否则,显示为大写S;

STICKY

功用:对属组或全局可写的目录,组内所有用户或系统 上所有用户对此目录中都能创建新建文件或删除已有文件,如果为此类目录设置STICKY权限,则每个用户能创建新文件,且只能删除自己的文件;

[root@centos-23 opt]# chmod o+t 1/
[root@centos-23 opt]# ll
drwxrwsr-t. 2 root demo    42 Sep 29 09:12 1      --给目录“1”增加STICKY权限位。如果不增加增权限位,在目录“1”中可以任意创建和删除文件和目录

[test2@centos-23 1]$ ll
-rw-rw-r--. 1 test3 test3 0 Sep 29 09:10 b
-rw-rw-r--. 1 test3 demo  0 Sep 29 09:11 c
-rw-rw-r--. 1 test2 demo  0 Sep 29 09:12 d
[test2@centos-23 1]$ rm b
rm: remove write-protected regular empty file ‘b’? y    --给目录“1”增加STICKY权限位后,在该目录内只能创建和修改文件或目录,不能删除
rm: cannot remove ‘b’: Operation not permitted

管理文件的STICKY权限:chmod 0+|-t file

展示位置:其它用户的执行权限位,如果属主原本有执行权限,显示为小写t,否则显示为大写T;

注:系统上的/tmp和/var/tmp目录默认均有STICKY权限位

管理特殊权限的另一方式:

s:4000 基于属主权限位
s:2000 基于属组权限位
t:1000 基于粘滞位
facl --file access controll lists 文件访问控制列表,文件的额外附权机制,在原有u,g,o之外,另一层让普通用户能控制赋权给另外的用户或组的赋权机制(只有是文件或目录属主才可以赋权)
getfacl 查看文件的或目录的权限
setfacl -m u:test2:rw fstab 将rw权限额外赋予用户test2的fstab文件
[root@centos-23 opt]#setfacl -m u:test2:rw fstab
[root@centos-23 opt]# getfacl fstab
# file: fstab
# owner: root
# group: root
user::rw-
user:test2:rw-
group::r--
mask::rw-
other::r--
setfacl -m g:test2:rw fstab 赋权给用户
[root@centos-23 opt]# setfacl -m g:test2:rw fstab
[root@centos-23 opt]# getfacl fstab
# file: fstab
# owner: root
# group: root
user::rw-
user:test2:rw-
group::r--
group:test2:rw-
mask::rw-
other::r--
撤销赋权
setfacl -x u:username file
setfacl -x g:groupame file
设置附加权限后文件执行流程:检查属主权限->属主附加权限->属组权限->属组附加权限->其他用户权限
 

 

posted @ 2020-09-29 09:55  扬帆直上  阅读(129)  评论(0)    收藏  举报