博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2.18 特殊权限set_uid
阅读量:7015 次
发布时间:2019-06-28

本文共 2127 字,大约阅读时间需要 7 分钟。

hot3.png

set_uid

例子 -rwsr-xr-x.中的s的权限

[root@hf-01 ~]# which passwd/usr/bin/passwd[root@hf-01 ~]# ls -l /usr/bin/passwd        会发现passwd文件含有特殊的s权限-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

set_uid介绍

  • set_uid(s):该权限针对二进制可执行文件使文件在执行阶段具有文件所有者的权限。
    • 可以使用chmod u+(-)s 【二进制文件名】 来设置权限。
  • 相当于set_uid设置user的权限位。
[root@hf-01 ~]# ls /etc/shadow/etc/shadow     改用户密码的文件[root@hf-01 ~]# ls -l !$    会发现更改密码的文件权限为000ls -l /etc/shadow----------. 1 root root 665 10月 26 08:04 /etc/shadow

set_uid总结

  • set_uid命令,就是保证普通用户临时拥有该命令所有者的身份
  • 给一个文件设置set_uid拥有临时所有者的权限
    • 前提,是该文件必须是二进制文件,而且是一个可执行(x)的文件
      • 例如:ls,passwd这些文件就是二进制文件
      • 而像,1.txt去设置set_uid权限是没有意义的
    • 小写的s包括了x权限,大写的S表示没有x权限
[root@hf-01 ~]# ls -l /usr/bin/ls     这里想给ls命令加一个-rwxr-xr-x. 1 root root 117616 6月  10 2014 /usr/bin/ls然后复制SSH渠道,打开另一个终端2hf(1)下[root@hf-01 ~]# su - hanfeng        切换到普通用户hanfeng下去[hanfeng@hf-01 ~]$ whoami       来查看当前用户hanfeng[hanfeng@hf-01 ~]$ ls /root/    这时访问/root/目录,会提示没权限ls: 无法打开目录/root: 权限不够这时回到之前的终端下1hf(0)下[root@hf-01 ~]# chmod u+s /usr/bin/ls       给ls命令增加+s权限[root@hf-01 ~]# ls -l /usr/bin/ls           这时查看ls命令,会发现x变化为了s权限(小写的s包括了x权限,大写的S表示没有x权限)-rwsr-xr-x. 1 root root 117616 6月  10 2014 /usr/bin/ls在切换到另一个终端2hf(1)下[hanfeng@hf-01 ~]$ ls /root/        这时会看到有访问权限了,就是因为set_uid权限赋给ls。(当在其他用户下使用ls命令时,在执行过程中会以root身份来运行)11.txt  123  234  2.txt  33.txt  anaconda-ks.cfg.1  ha.txt  hf[hanfeng@hf-01 ~]$ ls -ld /root/dr-xr-x---. 5 root root 4096 10月 26 09:41 /root/回到终端1hf(0)下[root@hf-01 ~]# chmod u-s /usr/bin/ls   去除set_uid赋予给ls的权限

set_uid的写法

  • ls命令的绝对路径为 /usr/bin/ls
[root@hf-01 ~]# chmod u+s /usr/bin/ls       命令ls被赋予了s权限[root@hf-01 ~]# chmod u-s /usr/bin/ls       收回s权限[root@hf-01 ~]# chmod u=rws /usr/bin/ls     这也是赋予ls权限的方法,但是它缺少可执行的权限(小写的s包括了x权限,大写的S表示没有x权限)[root@hf-01 ~]# !ls     会发现这里显示的是大写Sls -l /usr/bin/ls-rwSr-xr-x. 1 root root 117616 6月  10 2014 /usr/bin/ls[root@hf-01 ~]# chmod u+x /usr/bin/ls       在这里再给它加上+x可执行的权限即可[root@hf-01 ~]# !ls     会发现这里显示的是小写sls -l /usr/bin/ls-rwsr-xr-x. 1 root root 117616 6月  10 2014 /usr/bin/ls[root@hf-01 ~]#
  • 目录可增加set_uid权限,但是基本没啥作用,目录基本不用去执行啥
  • set_uid权限本身的作用就是给一个普通用户的用户执行,临时拥有所有者的身份

转载于:https://my.oschina.net/u/3707314/blog/1556558

你可能感兴趣的文章
《Windows服务器配置与管理》本地用户、组的管理
查看>>
mysql数据库移植sqlserver数据库
查看>>
使用update-alternatives 命令修改Java版本-自动切换Java版本
查看>>
我的友情链接
查看>>
linux命令学习(68 69)-tree finger
查看>>
写给同事的前端学习路线
查看>>
我的友情链接
查看>>
Global Azure上创建SSTP模式***配置介绍
查看>>
SQL Server 2016 Failover Cluster+ ALwaysOn(二)
查看>>
spring源码--依赖注入
查看>>
rhel7配置多用户tiger vnc server
查看>>
iOS播放系统声音
查看>>
const 命令
查看>>
我的友情链接
查看>>
linux系统root口令丢失
查看>>
菜鸟学Linux 第088篇笔记 配置heartbeat基于crm管理
查看>>
我的友情链接
查看>>
多线程爬虫1
查看>>
OSPF区域划分配置实例
查看>>
CDH5.10.0 离线安装(共3节点)
查看>>