高级权限
suid
chmod u+s file
只能作用于文件(二进制可执行文件)
只能设置到user位
作用:任何用户在执行拥有suid权限的命令时,都以该命令拥有者的身份执行
例子:用q用户vim编辑一个文档 然后
#ps -ef|grep vim
#ll /etc/shadow
-r------- 权限
在用q用户登录
#ps -ef |grep passwd
root。。。。。。。。 是以root权限修改
而不是q用户
实验:
创建用户robin robin可不可以使用cat命令查看/etc/shadow?
在不改变/etc/shadow权限的前提下,怎么使robin可以看到shadow文件内容
chmod u+s /bin/cat 再用robin用户登录 cat /etc/shadow 就可以看到了
或者 chown 用户.用户 /etc/shadow
SGID chmod g+s dir/
只能作用于目录
只能设置到group位
作用: 任何用户在拥有sgid的目录下创建的文件都要继承该目录的组
实验:
在/tmp下创建/test目录 cd /tmp ; mkdir /test
创建tom和jerry
1.修改test目录权限为777 chmod 777 test
使用tom用户在test目录创建文件aa.txt 查看aa.txt拥有者所属组?su tom ;cd test ;touch aa.txt ;ls aa.txt
root tom
2.将test目录添加权限sgid chmod g+s test
使用tom用户在test目录创建文件tt.txt 查看tt.txt和aa.txt拥有者所属组?su tom ;cd test ; touch tt.txt;ls -l tt.txt aa.txt
root root
root tom
3.使用tom用户在test目录创建目录dir 查看dir目录的拥有者和所属组的变化
tom root
sticky(粘贴位,冒险位)
chmod o+t dir/
只能作用于目录
只能添加到other位
作用:任何用户在拥有t权限目录下创建的文件都属于该用户自己,其他人无权删除 (ps :包括root)
实验:
在/tmp下创建/test目录
创建tom和jerry
1.修改test目录权限为777
使用tom用户在test目录下创建aa.txt
使用jerry用户在test目录下创建文件tt.txt
tom可以不可以删除tt.txt? jerry能不能删除aa.txt?
可以
2.使用tom用户在test目录下创建aa.txt
使用jerry用户在test目录下创建文件tt.txt
在test目录上添加t权限
tom可以不可以删除tt.txt? jerry能不能删除aa.txt?
不可以
3.使用root身份能不能删除 aa.txt 和 tt.txt? 可以
4.使用tom用户在test目录下创建aa.txt
使用jerry用户在test目录下创建文件tt.txt
在test目录上添加t权限
添加用户zorro 将test拥有者改成zorro
zorro能不能删除tom和jerry创建的文件?
可以
例子:/tmp文件 有t权限
如果你在你的电脑上安装 oracle 和weblogic这2个软件的时候 他们同时产生/tmp文件 如果有t权限 就没事 如果没有 就可能会覆盖
suid--------4
sgid--------2
sticky------1
1777
2777
4777
3777
例如 boss _____ 老婆 (小3 小4 小5。。。。)
|
yw-> 报表 r--|rw-|---
boss 组 O
当工作人员把公司利润报表交给boss 老板能看 工作人 读写权限 rw 其他人 不能看 有一天老板老婆来了 也想看 但是boss用户只有一个 或者 小三 小四 来了 都想看 但是老板又不想 这几个女的 都知道对方的存在 这样 普通权限 和高级权限已经不够用了 只能用到后面的facl 来对 老婆 小三 小四 单独用户 权限限制 互相有不知道对方的存在
chmod 7777 aa.txt
ll aa.txt
-rwsrwsrwt 1 root root 0 07-19 12:03 aa.txt
chmod -x aa.txt
ll aa.txt
-rwSrwSrwT 1 root root 0 07-19 12:03 aa.txt
源文件如果没有x权限,高级权限大写表示