Linux系統(tǒng)中蒋纬,有時候普通用戶有些事情是不能做的,除非是root用戶才能做到粪滤。這時就需要臨時切換到root身份來做事了斧拍。
su
在Linux系統(tǒng)中,可以通過su命令來進行用戶切換杖小∷列冢可以從普通用戶切換到root,也可以從root切換到普通用戶予权。
直接運行su命令昂勉,用戶從當前用戶切換到root,需要輸入root密碼扫腺。
newer@ubuntu:~$ su
Password:
su: Authentication failure
root 沒有配置密碼岗照,所以認證失敗。
由于newer 是sudoer, 所以可以通過sudo passwd root 配置root密碼
newer@ubuntu:~$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root 密碼配置成功之后笆环,可以su到root
newer@ubuntu:~$ su
Password:
root@ubuntu:/home/newer#
還可以su 回newer攒至,從root用戶切換到普通用戶不需要輸入密碼。
root@ubuntu:/home/newer# su newer
newer@ubuntu:~$
你可以使用echo $LOGNAME來查看當前登錄的用戶名
newer@ubuntu:~$ echo $LOGNAME
newer
su 的語法為: su [-] username
后面可以跟”-”也可以不跟躁劣,普通用戶su不加username時就是切換到root用戶嗓袱,當然root用戶同樣可以su到普通用戶。
[圖片上傳中习绢。。。(14)]
加”-“后會連同用戶的環(huán)境變量一起切換過來闪萄。su test 后雖然切換到了test用戶梧却,但是當前目錄還是切換前的/root目錄,然后當用su - test時切換用戶后則到了test的家目錄/home/test败去。當用root切換普通用戶時放航,是不需要輸入密碼的。這也體現(xiàn)了root用戶至高無上的權(quán)利圆裕。
用su是可以切換用戶身份广鳍,如果每個普通用戶都能切換到root身份,如果某個用戶不小心泄漏了root的密碼吓妆,那豈不是系統(tǒng)非常的不安全赊时?
沒有錯,為了改進這個問題行拢,產(chǎn)生了sudo這個命令祖秒。使用sudo執(zhí)行一個root才能執(zhí)行的命令是可以辦到的,但是需要輸入密碼舟奠,這個密碼并不是root的密碼而是用戶自己的密碼竭缝。
默認只有root用戶能使用sudo命令,普通用戶想要使用sudo沼瘫,是需要root預先設(shè)定的抬纸,即,使用visudo命令去編輯相關(guān)的配置文件/etc/sudoers耿戚。
默認root能夠sudo是因為這個文件中有一行” root ALL=(ALL) ALL” 在該行下面加入” test ALL=(ALL) ALL”就可以讓test用戶擁有了sudo的權(quán)利湿故。