看板 Linux 關於我們 聯絡資訊
鳥哥有提到 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
kerwinhui: 是後面的有優先權,所 sudo passwd root 在鳥哥的例子 08/23 19:32
kerwinhui: 優先權在 !/usr/bin/passwd root 不被允,但你的變成 08/23 19:33
kerwinhui: /usr/bin/passwd [0-z]* 被允了 08/23 19:33
kerwinhui: 當然,這種寫法 sudo passwd -e USER 之類就不被允 08/23 19:39
LIAR: 我把/usr/bin/passwd [0-z]*移到最前面,結果passwd全部被禁 08/23 19:43
LIAR: 看來確實後面有修先權,但現在全禁我又搞不懂了。 08/23 19:43
※ 編輯: LIAR (180.176.35.57), 08/23/2015 19:44:29
kerwinhui: 因為你還有 !/usr/bin/passwd 禁掉了 08/23 20:53
kerwinhui: 所以要!/usr/bin/passwd, /usr/bin/passwd [0-z]*, 其 08/23 20:54
kerwinhui: 他禁掉的 08/23 20:54
kenduest: 一般 sudo 設定比較 ok 作法是允許放前面,後面放排除的 08/23 20:58
kenduest: 允許變更任何帳號的密碼,但是不允許變更 root 與 abc 08/23 21:04
kenduest: 帳號密碼的話,可以這樣設定 08/23 21:04
kenduest: /usr/bin/passwd [a-zA-Z]*, !/usr/bin/passwd root, 08/23 21:05
kenduest: !/usr/bin/passwd abc 08/23 21:05
kenduest: 帳號名稱可能會有數字,上面也許可以改[a-zA-Z0-9]* 08/23 21:06
kenduest: 要更嚴格一點再改成 [a-zA-Z][a-zA-Z0-9]* 08/23 21:09
kerwinhui: 不用吧?sudo好像只有glob pattern不是regexp 08/23 21:32
kenduest: 對喔,想得太嚴格了,整個混在一起 :)) 08/23 21:47
LIAR: 感謝各位,終於搞定了。 08/23 22:48
jokester: 在visudo禁掉passwd後還可以sudo su, sudo bash再接pass 08/24 17:46
jokester: wd嗎? 08/24 17:46
bibo9901: 也可以 sudo visudo 吧? 08/24 18:24
kenduest: 是只有允許 passwd 命令使用,其他都禁止了 08/24 18:36