在linux系統(tǒng)中,誰是真正的老大?root。誰的權限至高無上?root。那普通用戶咋辦?這不能做,那不能干?讓咱去死嗎?嘿嘿,不想當將軍的士兵不是好士兵,同樣不想使用root權限的賬號是一個懶人,在linux系統(tǒng)中有兩個命令可以使我們變成root,這兩個命令就是
su和
sudo。下面我來為大家簡單的介紹一下,簡單的了解一下二者的同異處。
使用su命令,我們可以切換不同的用戶身份,相當于有多個面具,一會兒當好人,一會兒當壞人,呵。當su后面沒有加上用戶賬號時,默認切換的就是root賬號。并且使用這個命令最常見的情況就是讓我們切換至root賬號,來充當一會兒系統(tǒng)管理員。咱也當一把老大。
參數(shù)意義
-執(zhí)行此操作表示該用戶想戴上root的面具,且使用root的環(huán)境設置參數(shù)文件,如/root/.bash_profile等 等同于su -l root
-l后面接用戶名,例如我想換成chongpig就寫su -l chongpig,這個l>的作用就是說明一下我要使用新用戶的身份所所有相關環(huán)境設置文件
-m 或者-p-m與-p是一樣的,表示“使用當前環(huán)境設置,而不是重新調取新用戶的設置文件”
-c用新身份僅執(zhí)行一次命令,后面接的直接為shell命令
這個就不給出實例了,因為這個其實并不是今天的主角,不過還是有地方需要說明一下的。
如果只想使用root來操作系統(tǒng),但是想繼續(xù)使用原賬號的環(huán)境參數(shù),直接使用su即可
PATH是比較麻煩的東西,如果可以,請將普通用戶,經(jīng)常要用到root權限的,把其PATH設置為root的PATH
如果想真正的切換身份為新的賬號,請使用su -l或者換成root就是 su -l root 或者 su -
如果只是想用root賬號執(zhí)行一個命令的話就直接用su -c “command”這樣就好
列位可能要問了,要是我本身就是root賬號,再執(zhí)行su會出現(xiàn)啥狀況呢?
# 什么也不好生,也沒有讓您輸入密碼
[root@xiaoxiaozi www]# su
[root@xiaoxiaozi www]#
使用su賬號想要切換成root就一定要知道root賬號的密碼,但是我們的目的只是讓普通用戶來借用root的權限,而不是把普通賬號變?yōu)閞oot,因為一旦root密碼被別人知道這可是很危險的行為。所以我們有必要了解一下sudo這個命令。
聽描述不錯吧?但是事情不是這么簡單的,這是因為您要想執(zhí)行sudo是有要求的。讓我們先來看一下sudo這個命令是如何工作的吧?
1. 當用戶執(zhí)行sudo時,Linux系統(tǒng)會去尋找/etc/sudoers文件,并且這是主動的,判斷用戶是否有執(zhí)行sudo命令的權限
2. 如果用戶有執(zhí)行sudo的權限,讓用戶輸入自己的密碼來確認,這里比使用root的密碼強多了,贊一下
3. 如果密碼輸入正確,開始執(zhí)行sudo后面跟的shell命令
4. 如果要切換的身份相同, 和su命令一樣,也不用輸入密碼
還得再強調一下,使用sudo命令,需要用戶確認輸入的是自己的密碼,而不是root的密碼,這可太帥了。呵呵。。
參數(shù)意義
-u后面可以接用戶賬號的名稱,或者是UID,假如UID為500的時候用戶>名為chongpig,我們可以用sudo -u #500 來作為切換到UID為500的用戶等同于 sudo -u chongpig
默認情況下,用戶沒有使用sudo命令的權限,因為我們還沒有設置/etc/sudoers文件。我們可以使用visudo命令來編輯此文件,切忌不要直接使用vim或者gredit來編輯,因為一旦輸入有錯誤,可能會造成無法使用sudo的后果。
/etc/sudoers文件:
使用visodu命令后,打開的窗口與vi界面一致,如果想要為賬號增加使用sudo命令的話,可以在 root ALL=(ALL) ALL這行后面加上如下內容:
# 用戶賬號 登錄的主機 = (可以變換的身份) 可以執(zhí)行的命令
username ALL=(ALL) ALL
剛才介紹的是用戶身份的聲明,下面還有一個特殊的用戶組說明——wheel有如下內容:
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
## Same thing without a password
## 用戶在使用sudo命令時不用輸入密碼,后面的ALL可以換為具體的shell命令
# %wheel ALL=(ALL) NOPASSWD: ALL
退出新賬號身份:
這個命令是最簡單的了,大家記一下哈:exit 嘿嘿,退出即可
[simaopig@xiaoxiaozi www]$ su
密碼:
[root@xiaoxiaozi www]# exit
exit
[simaopig@xiaoxiaozi www]$
http://www.xiaoxiaozi.com/2009/08/17/1374/