溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux中su命令有什么用

發(fā)布時(shí)間:2021-10-11 13:52:06 來源:億速云 閱讀:118 作者:小新 欄目:系統(tǒng)運(yùn)維

這篇文章將為大家詳細(xì)講解有關(guān)linux中su命令有什么用,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

原問:linux中,我以root登錄,和以其他用戶登錄然后使用su命令切換至root用戶,有什么不一樣,如果一樣的話,我執(zhí)行su命令之后,其他的用戶還在不在系統(tǒng)中?本人在執(zhí)行su后,試圖刪除其他用戶,linux提示,其他用戶logged in?why

回答:我來為你解釋吧! unix系統(tǒng)里,當(dāng)用戶登錄時(shí)會(huì)為每個(gè)用戶創(chuàng)建一個(gè)shell進(jìn)程,提供交互功能,如果你使用的是bash,那么這個(gè)shell進(jìn)程就是bash,使用的ksh,這個(gè)進(jìn)程就是ksh,其他shell也是一樣。

而對(duì)于進(jìn)程而言,在它的進(jìn)程PCB(進(jìn)程控制塊)里,有實(shí)際用戶ID和有效用戶ID這兩個(gè)值,所謂實(shí)際用戶ID是指該進(jìn)程是以什么身份創(chuàng)建的,比如:我當(dāng)前是root用戶,我創(chuàng)建的進(jìn)程的實(shí)際用戶ID就是root的ID,一般為0。而有效用戶ID是指對(duì)該進(jìn)程當(dāng)前擁有使用權(quán)限的用戶的ID,比如我有一輛車,我把它組出去了,這個(gè)車的擁有者是我,但是使用權(quán)限卻不是我的。

一般情況下實(shí)際用戶ID和有效用戶ID都是相同的,su命令就是擁有這樣的功能,讓一個(gè)進(jìn)程可以以命令擁有者的權(quán)限運(yùn)行,即可以使進(jìn)程的實(shí)際用戶ID和有效用戶ID不相同。你可以用ls -l去查看su這個(gè)命令,在它的擁有者的x權(quán)限位上寫的一定是個(gè)s(小s),passwd命令也是一樣,他們擁有相同的功能。這個(gè)s位的意思是 執(zhí)行該命令的用戶可以以該命令的擁有者權(quán)限來執(zhí)行,如果你把這個(gè)s位取消了,也就只有su的擁有者可以su了。
現(xiàn)在來進(jìn)一步解釋下吧,希望你能看的懂。

當(dāng)我們以root執(zhí)行su時(shí),su命令會(huì)以當(dāng)前shell進(jìn)程為父進(jìn)程來創(chuàng)建一個(gè)新的shell進(jìn)程,這個(gè)shell進(jìn)程是提供給我們所要su到的那個(gè)用戶使用的,而root的shell進(jìn)程仍然存在,反過來也是一樣的,這就是你所問的問題的原因,因?yàn)橹澳莻€(gè)用戶的shell進(jìn)程還沒關(guān)閉,你可以使用exit退出一下,可以看到,并不是退出登錄了,而是回到之前的那個(gè)用戶去了。因?yàn)樗鼈兪歉缸舆M(jìn)程的關(guān)系,子進(jìn)程的結(jié)束當(dāng)然 不會(huì)影響到父進(jìn)程的執(zhí)行了。但是我們?nèi)绻麖?qiáng)行殺死父進(jìn)程,那就直接退出了。
其實(shí)很多人并不了解,whoami和who am i的區(qū)別,他們的作用是不同的。

who am i 顯示當(dāng)前shell進(jìn)程的實(shí)際用戶ID。
whomai 顯示當(dāng)前shell進(jìn)程的有效用戶ID。
很多時(shí)候,這兩個(gè)輸出是一樣的,以至于我們以為這兩個(gè)命令的作用是相同的。

實(shí)例:root@yunhw-Aspire-4750G:~# who am i
root pts/0 2011-12-10 13:13 (:0.0)
root@yunhw-Aspire-4750G:~# whoami
root
root@yunhw-Aspire-4750G:~#ps -ef
root 2939 2935 0 13:18 pts/0 00:00:00 bash
root@yunhw-Aspire-4750G:~# su - yunhw
yunhw@yunhw-Aspire-4750G:~$ who am i
root pts/0 2011-12-10 13:13 (:0.0)
yunhw@yunhw-Aspire-4750G:~$ whoami
yunhw
root@yunhw-Aspire-4750G:~#ps -ef
root 2939 2935 0 13:18 pts/0 00:00:00 bash
yunhw 2958 2939 0 13:19 pts/0 00:00:00 su - yunhw
yunhw 2966 2958 7 13:19 pts/0 00:00:00 -su
root@yunhw-Aspire-4750G:~#sudo kill -9 2939

這條命令一執(zhí)行,也就完全退出了。

關(guān)于“l(fā)inux中su命令有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI