sudo是一個允許特定的用戶組用另一個用戶(典型的是root)的特權來運行一個命令。sudo有詳細的日志功能,并且提供了對用戶可通過sudo來運行哪些命令的細粒度控制。
Sudo vs. Su
su命令也提供了同樣的特權提升功能,兩者不同的是它們認證過程和特權變化的粒度。su允許你從你的登錄會話切換到另一個用戶的會話,然后你可以隨心所欲地用該用戶的特權來運行任何程序,但是你需要知道目標用戶的密碼才能切換這個用戶。而另一方面,sudo能在單個命令的基礎上工作,允許你用root的特權來運行單個命令。用sudo你不必一定要知道root的密碼,但是在提示輸入sudo密碼的時候要輸入你的密碼。
在Sudoers列表里添加用戶
作為一個新用戶的你如果試圖運行sudo命令,你會碰到以下錯誤。意思是你不在這個包含經(jīng)過認證就可以使用sudo特權的這么一個用戶組的sudoers列表里。
[my-user-id] is not in the sudoers file. This incident will be reported.
有兩個方法可以把你加入到sudoers列表中去。
方法一
第一個方法是把你添加到名為sudo的Linux用戶組里。這個特殊的Linux用戶組是預配置來使用sudo的。因此,一旦你在這個組里面,那你就可以運行sudo命令了。
以下命令會把你加入到Linux的sudo組里,你需要在root用戶下運行該命令。
# adduser 用戶名> sudo
現(xiàn)在來確認你的組員資格有沒有更新,使用groups命令來看看你當前屬于哪個組的列表里。這個列表必定是包含sudo組的。
$ groups /p>
p> alice adm cdrom sudo dip plugdev fuse lpadmin netdev sambashare davfs2 libvirtd docker promiscuous
組員資格變動(和sudo訪問)會在你登出后重新登錄后生效。
方法二
第二個能讓你使用sudo的方法是直接把你自己添加到 /etc/sudoers 這個配置文件中去。
要修改 /etc/sudoers 文件,你可以使用一個名為visudo的特殊sudo編輯器命令。用root身份簡單調(diào)用以下命令。
# visudo
這條命令能打開并編輯 /etc/sudoers 文件,將以下這行文字添加至文件末尾,并按Ctrl+X。提示出現(xiàn)時,保存修改退出。
username> ALL=(ALL) ALL
這個修改會立即生效,你就能馬上使用sudo了。
