[問題] visudo中的命令限制

看板Linux作者 (玻璃做的大叔)時間8年前 (2015/08/23 09:31), 8年前編輯推噓1(1022)
留言23則, 5人參與, 最新討論串1/1
鳥哥有提到 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://www.ptt.cc/bbs/Linux/M.1440293504.A.35C.html

08/23 19:32, , 1F
是後面的有優先權,所 sudo passwd root 在鳥哥的例子
08/23 19:32, 1F

08/23 19:33, , 2F
優先權在 !/usr/bin/passwd root 不被允,但你的變成
08/23 19:33, 2F

08/23 19:33, , 3F
/usr/bin/passwd [0-z]* 被允了
08/23 19:33, 3F

08/23 19:39, , 4F
當然,這種寫法 sudo passwd -e USER 之類就不被允
08/23 19:39, 4F

08/23 19:43, , 5F
我把/usr/bin/passwd [0-z]*移到最前面,結果passwd全部被禁
08/23 19:43, 5F

08/23 19:43, , 6F
看來確實後面有修先權,但現在全禁我又搞不懂了。
08/23 19:43, 6F
※ 編輯: LIAR (180.176.35.57), 08/23/2015 19:44:29

08/23 20:53, , 7F
因為你還有 !/usr/bin/passwd 禁掉了
08/23 20:53, 7F

08/23 20:54, , 8F
所以要!/usr/bin/passwd, /usr/bin/passwd [0-z]*, 其
08/23 20:54, 8F

08/23 20:54, , 9F
他禁掉的
08/23 20:54, 9F

08/23 20:58, , 10F
一般 sudo 設定比較 ok 作法是允許放前面,後面放排除的
08/23 20:58, 10F

08/23 21:04, , 11F
允許變更任何帳號的密碼,但是不允許變更 root 與 abc
08/23 21:04, 11F

08/23 21:04, , 12F
帳號密碼的話,可以這樣設定
08/23 21:04, 12F

08/23 21:05, , 13F
/usr/bin/passwd [a-zA-Z]*, !/usr/bin/passwd root,
08/23 21:05, 13F

08/23 21:05, , 14F
!/usr/bin/passwd abc
08/23 21:05, 14F

08/23 21:06, , 15F
帳號名稱可能會有數字,上面也許可以改[a-zA-Z0-9]*
08/23 21:06, 15F

08/23 21:09, , 16F
要更嚴格一點再改成 [a-zA-Z][a-zA-Z0-9]*
08/23 21:09, 16F

08/23 21:32, , 17F
不用吧?sudo好像只有glob pattern不是regexp
08/23 21:32, 17F

08/23 21:47, , 18F
對喔,想得太嚴格了,整個混在一起 :))
08/23 21:47, 18F

08/23 22:48, , 19F
感謝各位,終於搞定了。
08/23 22:48, 19F

08/24 17:46, , 20F
在visudo禁掉passwd後還可以sudo su, sudo bash再接pass
08/24 17:46, 20F

08/24 17:46, , 21F
wd嗎?
08/24 17:46, 21F

08/24 18:24, , 22F
也可以 sudo visudo 吧?
08/24 18:24, 22F

08/24 18:36, , 23F
是只有允許 passwd 命令使用,其他都禁止了
08/24 18:36, 23F
文章代碼(AID): #1LsIA0DS (Linux)