運(yùn)行具有超級(jí)用戶權(quán)限的命令通常有兩種情況:(1)你同時(shí)擁有了一個(gè)超級(jí)用戶帳號(hào)(root帳號(hào) 啟用)和一個(gè)常規(guī)用戶帳號(hào);(2)你不是一個(gè)常規(guī)用戶但是并沒(méi)有超級(jí)用戶的權(quán)限(這種情況經(jīng)常發(fā)生在大型多用戶網(wǎng)絡(luò)中的初級(jí)和中高級(jí)系統(tǒng)管理員身上)。下 面我們分別來(lái)看下這兩種情況:
?。?)su命令短暫的更改用戶身份
這種情況需要啟用超級(jí)用戶帳號(hào)(Ubuntu系統(tǒng)中是默認(rèn)禁用超級(jí)用戶帳號(hào)的)。啟用root賬號(hào)時(shí),可使用sudo passwd命令。之后你就可以使用su命令進(jìn)入root用戶。
su命令的使用格式如下:
su option username arguments
單獨(dú)使用su命令,你變成root用戶,但是仍然保留你原來(lái)的常規(guī)用戶的環(huán)境變量,你的當(dāng)前目錄也不會(huì)變化。
你使用su -命令,你變成root用戶,并且繼承了root用戶的環(huán)境變量
想要變成其他用戶,需要在命令行中指定用戶名:su – other_user
如果要回到你原來(lái)的用戶身份,使用exit命令。
當(dāng)你想要某些用戶能夠執(zhí)行需要超級(jí)用戶權(quán)限的命令時(shí),你告訴他們r(jià)oot用戶的密碼,他們就可以使用su命令進(jìn)入root用戶,執(zhí)行相應(yīng)的命令。
(2)sudo命令授予超級(jí)用戶權(quán)限
sudo是和命令結(jié)合使用的。sudo命令的使用格式如下:
sudo command
當(dāng)你輸入上面的命令時(shí),sudo會(huì)檢查/etc/sudoers文件查看該用戶是否被授權(quán)可以獲得超級(jí)用戶權(quán)限。如果可以的話,該用戶會(huì)被提示輸入這個(gè)用戶的密碼,然后命令會(huì)被執(zhí)行,就好像是root用戶執(zhí)行命令一樣。Ubuntu的默認(rèn)設(shè)置時(shí),15分鐘內(nèi)再使用sudo命令時(shí),不要再次輸入密碼。如果一個(gè)沒(méi)有被授權(quán)的用戶使用sudo命令時(shí),這個(gè)記錄會(huì)被保存在系統(tǒng)日志中,并通知給超級(jí)用戶。
有三個(gè)和sudo相關(guān)的man頁(yè)面:sudo,sudoers,visudo.第一個(gè)主要是關(guān)于sudo命令本身,第二個(gè)是關(guān)于/etc /sudoers文件,第三個(gè)是使用文本編輯器編輯/etc/sudoers文件。你需要使用特殊的編輯命令因?yàn)樗鼤?huì)檢查文件的parse錯(cuò)誤,并同時(shí)將 文件鎖起來(lái)防止其他人編輯。visudo命令使用vi編輯器。
/etc/sudoers文件如下所示:
#
#This file MUST be edited with the 'visudo' command as root.
#
#Please consider adding local content in /etc/sudoers.d/ instead of
#directly modifying this file.
#
#See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$
#Host alias specification
#User alias specification
#Cmnd alias specification
#User privilege specification
root ALL=(ALL:ALL) ALL
#Members of the admin group may gain root privileges
%adminALL=(ALL) ALL
#Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
#See sudoers(5) for more information on "#include"directives:
#includedir/etc/sudoers.d
文件中一個(gè)sudoers行的基本形式如下:
user host_computer=command
這個(gè)user可以是單獨(dú)的一個(gè)用戶,也可以是一個(gè)群組(群組前面有%)。host_computer通常是ALL包括所有的主機(jī),也可以是 localhost只包括本地主機(jī)。sudoers行中的command可以是ALL,包括了所有的特殊命令,也可以是所有命令的一個(gè)子集(不可被使用的 命令前會(huì)加上?。?。
(責(zé)任編輯:VEVB)
新聞熱點(diǎn)
疑難解答
圖片精選