linux下添加用戶到sudo組
創建用戶 useradd hanli
為新用戶設置密碼 passwd hanli
創建用戶組 groupadd op
將用戶添加到用戶組 usermod -G op hanli
查看用戶屬於哪個組 groups hanli
查看用戶組成員 groupmems -g wheel -l (wheel是組名)
查看所有用戶組 cat /etc/group cat /etc/gshadow
查看所有用戶 cat /etc/passwd cat /etc/shadow
給普通用戶添加sudo權限,並且使用時不用輸入密碼:
直接鍵入命令visudo(這是Linux提供的修改sudoer的工具,與用vi親自修改配置文件相比,它提示更多的提示信息的糾錯能力), 或者vi /etc/sudoers ,添加如下一行
hanli ALL=(ALL) NOPASSWD: ALL
jorge ALL=(root) /usr/bin/find, /bin/rm
上面的第一欄規定它的適用對象:用戶或組,就本例來說,它是用戶jorge。此外,因為系統中的組和用戶可以重名,要想指定該規則的適用對象是組而非用戶的話,組對象的名稱一定要用百分號%開頭。第二欄指定該規則的適用主機。當我們在多個系統之間部署sudo環境時,這一欄格外有用,這里的ALL代表所有主機。但是,對於桌面系統或不想將sudo部署到多個系統的情況,這一欄就換成相應的主機名。第三欄的值放在括號內,指出第一欄規定的用戶能夠以何種身份來執行命令。本例中該值設為root,這意味着用戶jorge能夠以root用戶的身份來運行后面列出的命令。該值也可以設成通配符ALL,jorge便能作為系統中的任何用戶來執行列出的命令了。最后一欄(即/usr/bin/find,/bin/rm)是使用逗號分開的命令表,這些命令能被第一欄規定的用戶以第三欄指出的身份來運行它們。本例中,該配置允許jorge作為超級用戶運行/usr/bin/find和 /bin/rm這兩個命令。如果配置該用戶不能執行某些命令,在命令前加”!”即可,需要指出的是,這里列出的命令一定要使用絕對路徑。
如何禁止sudo用戶修改密碼
root新建用戶:
useradd user
passwd user
root 用戶在 sudoers文件中添加:
user ALL=/usr/sbin/*,/sbin/*,/usr/bin/*,!/bin/chattr,!/bin/passwd,!/usr/sbin/visudo,!/usr/sbin/useradd,!/usr/sbin/userdel
所有sudo開個頭的文件或文件夾添加i屬性(不得任意更動文件或目錄):
chattr +i /etc/sudo.conf
chattr +i /etc/sudoers chattr +i /etc/sudoers.d/ chattr +i /etc/sudo-ldap.conf
解鎖文件
chattr -i /etc/sudo.conf
chattr -i /etc/sudoers chattr -i /etc/sudoers.d/ chattr -i /etc/sudo-ldap.conf