學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

linux中的su命令

時(shí)間: 佳洲1085 分享

  在Linux系統(tǒng)下,su命令是變更使用者的身份,下面由學(xué)習(xí)啦小編為大家整理了linux中的su命令的相關(guān)知識(shí),希望對(duì)大家有幫助!

  linux中的su命令詳解

  1.命令作用

  su的作用是變更為其它使用者的身份,超級(jí)用戶除外,需要鍵入該使用者的密碼。

  2.使用方式

  su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]

  3.參數(shù)說(shuō)明

  -f , –fast:不必讀啟動(dòng)文件(如 csh.cshrc 等),僅用于csh或tcsh兩種Shell。

  -l , –login:加了這個(gè)參數(shù)之后,就好像是重新登陸一樣,大部分環(huán)境變量(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,并且工作目錄也會(huì)改變。如果沒(méi)有指定USER,缺省情況是root。

  -m, -p ,–preserve-environment:執(zhí)行su時(shí)不改變環(huán)境變數(shù)。

  -c command:變更賬號(hào)為USER的使用者,并執(zhí)行指令(command)后再變回原來(lái)使用者。

  –help 顯示說(shuō)明文

  –version 顯示版本資訊

  USER:欲變更的使用者賬號(hào),

  ARG: 傳入新的Shell參數(shù)。

  linux中的su命令例子

  su -c ls root 變更帳號(hào)為 root 并在執(zhí)行 ls 指令后退出變回原使用者。

  su [用戶名]

  a>在root用戶下, 輸入 su 普通用戶. 則切換至普通用戶, 從root切換到變通用戶不需要密碼

  b>在普通用戶下, 輸入 su [用戶名]

  提示 password:

  輸入用戶的PASSWORD, 則切換至該用戶

  擴(kuò)展閱讀一:Linux下 su命令與su - 命令有什么區(qū)別?

  su 是切換到其他用戶,但是不切換環(huán)境變量(比如說(shuō)那些export命令查看一下,就知道兩個(gè)命令的區(qū)別了)

  su - 是完整的切換到一個(gè)用戶環(huán)境

  所以建議大家切換用戶的時(shí)候,盡量使用 su - linuxso 這樣 否則可能發(fā)現(xiàn)某些命令執(zhí)行不了

  擴(kuò)展閱讀二:su和sudo的區(qū)別

  由于su 對(duì)切換到超級(jí)權(quán)限用戶root后,權(quán)限的無(wú)限制性,所以su并不能擔(dān)任多個(gè)管理員所管理的系統(tǒng)。如果用su 來(lái)切換到超級(jí)用戶來(lái)管理系統(tǒng),也不能明確哪些工作是由哪個(gè)管理員進(jìn)行的操作。特別是對(duì)于服務(wù)器的管理有多人參與管理時(shí),最好是針對(duì)每個(gè)管理員的技術(shù)特長(zhǎng)和 管理范圍,并且有針對(duì)性的下放給權(quán)限,并且約定其使用哪些工具來(lái)完成與其相關(guān)的工作,這時(shí)我們就有必要用到 sudo。

  通過(guò)sudo,我們能把某些超級(jí)權(quán)限有針對(duì)性的下放,并且不需要普通用戶知道root密碼,所以sudo 相對(duì)于權(quán)限無(wú)限制性的su來(lái)說(shuō),還是比較安全的,所以sudo 也能被稱為受限制的su ;另外sudo 是需要授權(quán)許可的,所以也被稱為授權(quán)許可的su;

  sudo 執(zhí)行命令的流程是當(dāng)前用戶切換到root(或其它指定切換到的用戶),然后以root(或其它指定的切換到的用戶)身份執(zhí)行命令,執(zhí)行完成后,直接退回到當(dāng)前用戶;而這些的前提是要通過(guò)sudo的配置文件/etc/sudoers來(lái)進(jìn)行授權(quán);

3626299