Linux基础学习之从入门到精通Day4
一、高级权限 suid,sgid,sticky
[root@]# ll /root/file1.txt
-rw-r--r-- 1 root root 4 7月 27 14:14 /root/file1.txt
[alice@]$ cat /root/file1.txt 分层验证看,ll-d / ll-d /root
(root禁地进不去)
cat: /root/file1.txt: 权限不够
分析:
root /usr/bin/cat (root) (进程所有者) /root/file1.txt OK
alice /usr/bin/cat (alice) /root/file1.txt
普通用户没有查看root家目录得权限
高级权限的类型
suid 4
sgid 2
sticky 1 粘滞位
设置特殊权限
a、字符
chmod u+s file
chmod g+s file
chmod g+s dir
chmod o+t dir
b、数字
chmod 4777 file
chmod 7777 file
chmod 2770 dir
chmod 3770 dir
示例1:suid 普通用户通过suid提权 <针对文件>
在进程文件(二进制,可执行)上增加suid权限
[root@]# chmod u+s /usr/bin/cat
[root@]# chmod u+s /usr/bin/rm
[alice@]$ cat /root/file1.txt
二、文件属性 chattr
文件权限管理之: 文件属性
注:设置文件属性(权限),针对所有用户,包括root
[root@]# touch file100 file200
[root@]# lsattr file100 file200
-------------e- file100
-------------e- file200
[root@]# lsattr file100 file200
-----a-------e- file100 a属只能够追加 不可以写
----i--------e- file200 i不能更改文件
三、进程掩码 mask umask
文件权限管理之: 进程umask
进程 新建文件、目录的默认权限会受到umask的影响,umask表示要减掉的权限
shell (vim,touch) =umask> 新文件或目录权限
vsftpd =umask> 新文件或目录权限
samba =umask> 新文件或目录权限
useradd =umask> 用户HOME
示例1: 在shell进程中创建文件
[root@]# umask //查看当前用户的umask权限
0022 特殊权限 所有者 组 O权限
[root@]# touch file800
[root@]# mkdir dir800
[root@]# ll -d dir800 file800
drwxr-xr-x. 2 root root 4096 3月 11 19:40 dir800
-rw-r--r--. 1 root root 0 3月 11 19:40 file800