背景
不想讓用戶能進行root登錄的話,可以給普通用戶添加sudoer權限。sudo命令可以讓用戶臨時或者長久擁有執行root的權限命令。
(1)讓普通用戶能執行所有的root的命令
visudo
複製原來的root行,位置是在100行的位置(以Centos7.x爲例講解)
root ALL=(ALL) ALL
user ALL=(ALL) ALL # 這是新增的行
上面的意思是:普通用戶可以執行root的所有命令並且能切換到root。 這樣子當用戶執行如下命令的時候
sudo su -
是需要鍵入普通用戶的密碼才能切到root
如果想要,無密碼的方式切到root的話,需要這樣配置:
user ALL=(ALL) NOPASSWD: ALL
(2)用腳本去代替 visudo
用上面的方法確實可以改,但是不推薦,我們可以通過編寫sudo的腳本去實現。腳本內容如下:
#!/bin/sh
if [[ $# -ne 1 ]];then
echo "Usage: $0 username"
exit 1
else
username="$1"
tempname="$(echo $1|sed 's/\.//')"
fi
echo "$username ALL=(ALL) NOPASSWD: ALL" | sudo EDITOR='tee -a' visudo -f /etc/sudoers.d/${tempname}
比如我們要給wwwuser添加爲sudoer的話直接通過下面的方式就行,具體的腳本含