Linux下 su命令與su - 命令的區(qū)別:
為若羌等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及若羌網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、若羌網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
一、切換root身份不同
1、su命令:su只是切換了root身份,但Shell環(huán)境仍然是普通用戶的Shell;而su -連用戶和Shell環(huán)境一起切換成root身份了。只有切換了Shell環(huán)境才不會(huì)出現(xiàn)PATH環(huán)境變量錯(cuò)誤,報(bào)command not found的錯(cuò)誤。
2、su - 命令:su切換成root用戶以后,pwd一下,發(fā)現(xiàn)工作目錄仍然是普通用戶的工作目錄;而用su -命令切換以后,工作目錄變成root的工作目錄了。
二、采用su deploy命令后,取目標(biāo)用戶不同
1、su命令:su不會(huì)讀取目標(biāo)用戶的環(huán)境配置文件,如圖。
2、su - 命令:su - 讀取目標(biāo)用戶的環(huán)境配置文件,如圖。
綜上總結(jié):有“-”和無“-”各自的環(huán)境變量不同。
三、service命令
1、su命令:使用 su root 切換到root用戶后,不可以使用service命令;
2、su - 命令:使用 su - 后,就可以使用service命令了。
四、用echo $PATH命令后,環(huán)境量不同
1、su命令:環(huán)境量變?yōu)閡sr。
2、su - 命令:環(huán)境量變?yōu)閛racle。
主要區(qū)別如下:
1、內(nèi)容不同
su命令:用于切換用戶,substitute英文含義“代替”的意思。
sudo命令:為superuser do 的簡(jiǎn)寫,即使用超級(jí)用戶來執(zhí)行命令,一般是指root用戶。
2、用法不同
su命令:不加用戶名默認(rèn)是切換為root用戶,切當(dāng)前目錄不改變,其他環(huán)境變量不變。
sudo命令:查看當(dāng)前用戶可以用sudo執(zhí)行的命令都有哪些。
3、環(huán)境不同
su命令:切換到root用戶,但是并沒有轉(zhuǎn)到root用戶家目錄下,即沒有改變用戶的環(huán)境。
sudo命令:是當(dāng)前用戶切換到root,然后以root身份執(zhí)行命令,執(zhí)行完成后,直接退回到當(dāng)前用戶,而這些的前提是要通過sudo的配置文件/etc/sudoers來進(jìn)行授權(quán)。
su和sudo各有優(yōu)點(diǎn),適當(dāng)用于預(yù)期的用例時(shí),兩者都表現(xiàn)不俗。我偏愛用su處理自己的大部分工作,因?yàn)樗钸m合我和我的工作流程。
su的全稱并不是super user,而是switch user,是不是就突然明白了?是切換用戶的意思。su的一般使用方法是su或者su -,兩種方法雖然只差了1個(gè)字符,但也是有比較大的差異的。
加入了-參數(shù),就是login-shell的方式,也就是說切換到另一個(gè)用戶之后,當(dāng)前的shell會(huì)加載對(duì)應(yīng)的環(huán)境變量和各種設(shè)置;
如果沒有加入-參數(shù),就是non-login-shell的方式,也就是說當(dāng)前的shell還是加載切換之前的那個(gè)用戶的環(huán)境變量以及各種設(shè)置。
如果不想因?yàn)榍袚Q到另一個(gè)用戶導(dǎo)致自己在當(dāng)前用戶下的設(shè)置不可用,那么就可以用non-login-shell的方式;如果切換用戶后,需要用到該用戶的各種環(huán)境變量,那么使用login-shell方式即可。
su
su的全稱并不是super user,而是switch user,是不是就突然明白了?是切換用戶的意思。su的一般使用方法是su 或者su -,兩種方法雖然只差了1個(gè)字符,但也是有比較大的差異的。
加入了-參數(shù),就是login-shell的方式,也就是說切換到另一個(gè)用戶之后,當(dāng)前的shell會(huì)加載對(duì)應(yīng)的環(huán)境變量和各種設(shè)置;
如果沒有加入-參數(shù),就是non-login-shell的方式,也就是說當(dāng)前的shell還是加載切換之前的那個(gè)用戶的環(huán)境變量以及各種設(shè)置。
如果不想因?yàn)榍袚Q到另一個(gè)用戶導(dǎo)致自己在當(dāng)前用戶下的設(shè)置不可用,那么就可以用non-login-shell的方式;如果切換用戶后,需要用到該用戶的各種環(huán)境變量,那么使用login-shell方式即可。
sudo
全稱為super user do,即以超級(jí)用戶的方式執(zhí)行命令,這里的超級(jí)用戶指的就是root用戶,我們?cè)贚inux中有時(shí)會(huì)遇到permission
denied的情況,如以u(píng)buntu用戶的身份查看/etc/shadow的內(nèi)容,因?yàn)樗侵挥衦oot用戶才能查看的,這個(gè)時(shí)候就可以使用sudo。
兩者的區(qū)別在于:
使用su - 提供root賬號(hào)的密碼,可以切換到root用戶;
使用sudo su -,提供當(dāng)前用戶的密碼,也可以切換到root用戶。
如果我們的Linux系統(tǒng)有很多用戶需要使用的話,前者要求所有用戶都知道root用戶的密碼,顯然是非常危險(xiǎn)的;后者是不需要暴露root賬戶密碼的,用戶只需要輸入自己的賬戶密碼就可以。
本文題目:在linux命令su 在linux系統(tǒng)中命令
網(wǎng)站地址:http://jinyejixie.com/article0/ddogpoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、動(dòng)態(tài)網(wǎng)站、用戶體驗(yàn)、網(wǎng)站設(shè)計(jì)、軟件開發(fā)、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容