linux set权限,Linux 特殊权限set_uid(示例代码)

特殊权限set_uid默认情况下 , 在新安装好的Linux系统下 , 仅有一个命令是拥有set_uid特殊权限的 .

201706090852_784.png拥有s权限的命令(文件) : 为了确保非所有者用户 , 在使用该命令时,临时拥有所有者的身份 ; 给一个文件设置set_uid特殊权限,前提是该文件是一个可执行的二进制文件(一般都是给命令加上这样的特殊权限) , 否则没有任何意义 , 就如给一个文件夹设置一个set_uid权限一样 , 没有任何实际意义 .

1. 给命令加上set_uid特殊权限格式 chmod u+s 命令的文件路径 chmod u+s /usr/bin/ls chmod u-s /usr/bin/ls/root/目录的权限 , 是只有root用户和root组下的用户才能访问的 , 其他用户没有任何权限 .[[email protected] ~]# ls -ld /root/dr-xr-x---. 3 root root 178 6月   8 14:16 /root/那么如果用一个普通用户去查看/root/目录下的内容时 , 肯定会报权限不足的错误 .[[email protected] ~]$ ls -l /root/ls: 无法打开目录/root/: 权限不够给ls命令添加上set_uid特殊命令后 , 验证能否临时加上只有root用户才有的查看/root/目录的权限[[email protected] ~]# which lsalias ls=‘ls --color=auto‘

/usr/bin/ls[[email protected] ~]# ls -l /usr/bin/ls-rwxr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls[[email protected] ~]# chmod u+s /usr/bin/ls[[email protected] ~]# !lsls -l /usr/bin/ls-rwsr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls[[email protected] ~]#

201706090922_764.png切换到allin1的普通用户 , 再次使用ls命令 , 看看普通用户是否拥有了root用户的权限 , 可以查看/root/目录[[email protected] ~]# ssh -p 22 [email protected]130Last login: Fri Jun  9 08:54:21 2017 from 192.168.245.132[[email protected] ~]# whoamiroot

[[email protected] ~]# su - allin1上一次登录:五 6月  9 08:54:30 CST 2017pts/3 上

[[email protected] ~]$ whoami

allin1

[[email protected] ~]$ ls -l /root/

总用量 8-rwx--x--x. 1 root root    0 6月   8 14:16 2.txt

-rw-------. 1 root root 7728 6月   6 22:11 anaconda-ks.cfg.1[[email protected] ~]$

201706090927_73.png

2. 给命令添加set_uid特殊权限的第二种方式格式 : chmod u=rws 命令文件路径 chmod u=rws /usr/bin/ls

这样修改后的ls命令的权限 , 和第一种方式修改后的ls命令权限有一些区别 , 但是效果却一样[[email protected] ~]# chmod u-s /usr/bin/ls[[email protected] ~]# ls -l /usr/bin/ls-rwxr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

[[email protected] ~]# chmod u=rws /usr/bin/ls[[email protected] ~]# ls -l /usr/bin/ls-rwSr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

[[email protected] ~]#

201706090933_155.png这样添加set_uid的特殊权限后 , ls命令的权限变成rwS , 是一个大写的S , 而第一种方式添加特殊权限后 , ls命令的权限是rws , 是一个小写的s ... 这两者的区别是 , 第二种方式 , 缺少了x权限 , 要想也成为小写的s , 那么也可以额外在添加上x权限 , 不过这个并不影响ls命令临时拥有了root用户权限 .[[email protected] ~]$ ls -l /usr/bin/ls

-rwSr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

[[email protected] ~]$ ls -l /bin/ls

-rwSr-xr-x. 1 root root 117656 11月  6 2016 /bin/ls

[[email protected] ~]$ ls -l /root/

总用量 8-rwx--x--x. 1 root root    0 6月   8 14:16 2.txt

-rw-------. 1 root root 7728 6月   6 22:11 anaconda-ks.cfg.1[[email protected] ~]$

201706090937_414.png加上x权限[[email protected] ~]# chmod u+x /usr/bin/ls[[email protected] ~]# ls -l /usr/bin/ls-rwsr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

201706090938_443.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值