免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2759 | 回复: 4

[学习分享] sudo的一个小问题!! [复制链接]

论坛徽章:
0
发表于 2017-02-26 09:31 |显示全部楼层
书上讲
注:sudo能运行root的条件是用户属于sudo组。sudoer文件中配置用户有root权限。
显然第二点必须root用户才能完成。也就是说sudo不能凭空产生,而是由root用户创建可以sudo到root的用户。

---分割线---
但是在实测中,处于sudo组的用户可以通过
sudo usermod -G sudo <user> 来将<user>追加到sudo组中
---分割线---
不是说只有root最高权限组才能添加<user>到sudo组吗,所以是书上有误还是我理解有误??

论坛徽章:
0
发表于 2017-02-26 10:34 |显示全部楼层
没有人吗

论坛徽章:
0
发表于 2017-02-26 14:59 |显示全部楼层
新人第一帖居然沉了

论坛徽章:
0
发表于 2017-02-26 17:02 |显示全部楼层
已在贴吧找到答案
http://tieba.baidu.com/p/4998201817

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:57:09
发表于 2017-02-28 13:30 |显示全部楼层
本帖最后由 sevenover 于 2017-02-28 13:33 编辑

那个我来晚了。。
解释一下这个现象。

假设系统有三个用户:
root: 具有 root 权限;
admin: 被 root 配置在了 /etc/sudoers 文件中,因此是具有 sudo 权限的普通用户。
user: 无 sodo 权限的普通用户。

1.普通用户使用 sudo 命令相当于可以临时获得 root 权限;
2.root 用户不需要 sudo 命令即拥有 root 权限;
3.修改 /etc/sudoers 文件需要 root 权限。
因此在本例中 root  和 admin (请求 sudo 时)具有相同的权限,均可以修改 /etc/sudoers 文件。
但 user 用户无法修改此文件,同理,若 admin 用户没有请求 sodu 命令,同样无权修改此文件。

若想要彻底理解此问题,你需要先理解 linux 文件系统权限中的 u+s 和 g+s 权限位是什么。
以下以 Ubuntu 14.04 为例子,说明这个问题。
>$ which sudo
/usr/bin/sudo
>$ ls -l /usr/bin/sudo
-rwsr-xr-x 1 root root 155008 10月 15 00:02 /usr/bin/sudo
分析:
1.sudo 这个文件的权限位是 -rwsr-xr-x,即 4755 权限,通过 >$ chmod 4755 file 命令可以为文件授予此权限;
权限位一共是10位,第一位表示文件类型,其中减号(-)表示普通文件,可以通过 >$ man 2 stat 查询到系统中支持的文件类型。第 2-4 位表示文件属主的权限,即 rws。第 5-7 位表示文件属组的权限,即 r-x。第 8-10 位表示其他用户的权限,即 r-x。
这里可以看到属主权限(即 2-4 位)是 rws,这里的 s 就表示 u+s 权限,即这个文件被执行的时候,执行者的身份会改变为此文件属主(此文件属主是 root 用户)的权限。所以用户在执行 sudo 命令时身份会改变为 root 身份。
同理,若第 7 位是 s,就表示是 g+s 权限,那么该文件执行者的身份会改变为此文件属组(此文件属组是 root 组)的权限。
2.sudo 这个文件的属主是 root
3.sudo 这个文件的属组是 root
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP