歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> linux su命令參數及用法詳解(linux切換用戶命令)

linux su命令參數及用法詳解(linux切換用戶命令)

日期:2017/3/1 18:06:53   编辑:Linux技術
linux su 命令

建議大家切換用戶的時候 使用 su - root 這樣,否則可能發現某些命令執行不了

關於su 、su - 及 sudo的區別 請往下看

1.命令作用

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

2.使用方式

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

3.參數說明

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

-l , –login:加了這個參數之後,就好像是重新登陸一樣,大部分環境變量(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,並

且工作目錄也會改變。如果沒有指定USER,缺省情況是root。

-m, -p ,–preserve-environment:執行su時不改變環境變數。

-c command:變更賬號為USER的使用者,並執行指令(command)後再變回原來使用者。

–help 顯示說明文件
–version 顯示版本資訊

USER:欲變更的使用者賬號,
ARG: 傳入新的Shell參數。

4.例子

su -c ls root 變更帳號為 root 並在執行 ls 指令後退出變回原使用者。

su [用戶名]

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

b>在普通用戶下, 輸入 su [用戶名]
提示 password:
輸入用戶的PASSWORD, 則切換至該用戶

擴展閱讀一:Linux下 su命令與su - 命令有什麼區別?

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

su - 是完整的切換到一個用戶環境

所以建議大家切換用戶的時候,盡量使用 su - linuxso 這樣 否則可能發現某些命令執行不了

擴展閱讀二:su和sudo的區別

由於su 對切換到超級權限用戶root後,權限的無限制性,所以su並不能擔任多個管理員所管理的系統。如果用su 來切換到超級用戶來管理系統,也不能明確哪些工作是由哪個管理員進行的操作。特別是對於服務器的管理有多人參與管理時,最好是針對每個管理員的技術特長和 管理范圍,並且有針對性的下放給權限,並且約定其使用哪些工具來完成與其相關的工作,這時我們就有必要用到 sudo。

通過sudo,我們能把某些超級權限有針對性的下放,並且不需要普通用戶知道root密碼,所以sudo 相對於權限無限制性的su來說,還是比較安全的,所以sudo 也能被稱為受限制的su ;另外sudo 是需要授權許可的,所以也被稱為授權許可的su;

sudo 執行命令的流程是當前用戶切換到root(或其它指定切換到的用戶),然後以root(或其它指定的切換到的用戶)身份執行命令,執行完成後,直接退回到當前用戶;而這些的前提是要通過sudo的配置文件/etc/sudoers來進行授權;
Copyright © Linux教程網 All Rights Reserved