作者LIAR (玻璃做的大叔)
看板Linux
标题[问题] visudo中的命令限制
时间Sun Aug 23 09:31:39 2015
鸟哥有提到
myuser1 ALL=(root) !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*,
!/usr/bin/passwd root
这样可以避免
sudo passwd
sudo passwd root
这样修改root的指令,可是我这样修改,却还是可以被执行
sudo passrd root
我的设定如下
sxxx ALL=(root) !/usr/bin/passwd, !/usr/bin/passwd root,
!/usr/bin/passwd Yuser1, /usr/bin/passwd [0-z]*
这样
sudo passwd
确实无法执行,但是下面这个
sudo passwd root
sudo passwd Yuser1
却可以,我搞不懂这个逻辑,看起来是後面允许的条件盖掉前面的限制,
并不是按照写的顺序排优先权或是按照交集计算权限,那鸟哥是如何办到的?
--
起初,他们追杀共产主义者,我没有说话,因为我不是共产主义者;
接着,他们追杀犹太人,我没有说话,因为我不是犹太人;
後来,他们追杀工会成员,我没有说话,因为我不是工会成员;
此後,他们追杀天主教徒,我没有说话,因为我是新教教徒;
最後,他们奔我而来,却再也没有人站起来为我说话了。
《First They Came(他们首次来时)》,Martin Niemoller牧师(1892-1984)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.176.35.57
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1440293504.A.35C.html
1F:→ kerwinhui: 是後面的有优先权,所 sudo passwd root 在鸟哥的例子 08/23 19:32
2F:→ kerwinhui: 优先权在 !/usr/bin/passwd root 不被允,但你的变成 08/23 19:33
3F:→ kerwinhui: /usr/bin/passwd [0-z]* 被允了 08/23 19:33
4F:→ kerwinhui: 当然,这种写法 sudo passwd -e USER 之类就不被允 08/23 19:39
5F:→ LIAR: 我把/usr/bin/passwd [0-z]*移到最前面,结果passwd全部被禁 08/23 19:43
6F:→ LIAR: 看来确实後面有修先权,但现在全禁我又搞不懂了。 08/23 19:43
※ 编辑: LIAR (180.176.35.57), 08/23/2015 19:44:29
7F:→ kerwinhui: 因为你还有 !/usr/bin/passwd 禁掉了 08/23 20:53
8F:→ kerwinhui: 所以要!/usr/bin/passwd, /usr/bin/passwd [0-z]*, 其 08/23 20:54
9F:→ kerwinhui: 他禁掉的 08/23 20:54
10F:→ kenduest: 一般 sudo 设定比较 ok 作法是允许放前面,後面放排除的 08/23 20:58
11F:→ kenduest: 允许变更任何帐号的密码,但是不允许变更 root 与 abc 08/23 21:04
12F:→ kenduest: 帐号密码的话,可以这样设定 08/23 21:04
13F:→ kenduest: /usr/bin/passwd [a-zA-Z]*, !/usr/bin/passwd root, 08/23 21:05
14F:→ kenduest: !/usr/bin/passwd abc 08/23 21:05
15F:→ kenduest: 帐号名称可能会有数字,上面也许可以改[a-zA-Z0-9]* 08/23 21:06
16F:→ kenduest: 要更严格一点再改成 [a-zA-Z][a-zA-Z0-9]* 08/23 21:09
17F:→ kerwinhui: 不用吧?sudo好像只有glob pattern不是regexp 08/23 21:32
18F:→ kenduest: 对喔,想得太严格了,整个混在一起 :)) 08/23 21:47
19F:→ LIAR: 感谢各位,终於搞定了。 08/23 22:48
20F:推 jokester: 在visudo禁掉passwd後还可以sudo su, sudo bash再接pass 08/24 17:46
21F:→ jokester: wd吗? 08/24 17:46
22F:→ bibo9901: 也可以 sudo visudo 吧? 08/24 18:24
23F:→ kenduest: 是只有允许 passwd 命令使用,其他都禁止了 08/24 18:36