特殊位 suid,sgid,sticky
示例1:suid 普通用户通过suid提权 <针对文件>
示例2:sgid 新建文件继承目录属组 <针对目录>
案例3 :sticky 用户只能删除自己的文件 <针对目录>
设置特殊权限
字符
高级权限的类型
suid=4 suid,针对文件程序时,具备临时提升权限。
sgid=2 sgid针对目录时,该目录具备继承属组的特性。
sticky=1 sticky针对目录设置,该目录中的内容只有root和属主能够删除。
示例1:suid 普通用户通过suid提权 <针对文件>
在进程文件(二进制,可执行)上增加suid权限
# chmod u+s /usr/bin/cat
示例2:sgid 新建文件继承目录属组 <针对目录>
# mkdir /home/hr
# groupadd hr
# chgrp hr /home/hr/
# chmod g+s /home/hr
# ll -d /home/hr/
# touch /home/hr/file9
# ll /home/hr/
案例3 :sticky 用户只能删除自己的文件 <针对目录>
# mkdir /home/dir1
# chmod 777 /home/dir1
测试:user1在/home/dir1建立文件, user2尝试删除!
# chmod o+t /home/dir1
# ll -d /home/dir1
设置特殊权限
字符
chmod u+s file数字
chmod g+s dir
chmod o+t dir
chmod 4777 file
chmod 2770 dir
chmod 1770 dir
文件属性chattr
用途 :常用于锁定某个文件,拒绝修改。
注意:设置文件属性(权限),针对所有用户,包括root
1 先创建三个文件进行对比。查看默认权限。
# touch file100 file200 file300 file400# lsattr file100 file200 file300-------------- file100-------------- file2002 加上不同属性。-------------- file300
# chattr +a file100 //只能追加
# chattr +i file200 //不能更改,重命名,删除
# chattr +A file300 //不能更改访问时间。
进程掩码 mask umask3 查看不同属性
# lsattr file100 file200 file300
-----a-------e- file100
----i--------e- file200
-------A-----e- file300
4 将属性还原。
# chattr -a file100
# chattr -i file200# chattr -A file300
概述 :新建文件、目录的默认权限会受到umask的影响,umask表示要减掉的权限
示例1:观察系统默认掩码
在shell进程中创建文件
# umask //查看当前用户的umask权限
0022
# touch file800
[# mkdir dir800
# 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
示例2:老铁,双击666
修改shell umask值(临时)
# umask 000
# mkdir dir900
# touch file900
# ll -d dir900 file900
drwxrwxrwx. 2 root root 4096 3月 11 19:44 dir900
-rw-rw-rw-. 1 root root 0 3月 11 19:44 file900
示例4:通过umask决定新建用户HOME目录的权限
# vim /etc/login.defs
UMASK 077
# useradd gougou
# ll -d /home/gougou/
drwx------. 4 gougou gougou 4096 3月 11 19:50 /home/gougou/