su命令功能說明:切換用戶身份。
語法:su [-flmp][--help][--version][-][-c <指令>][-s
][用戶帳號]
補充說明:su可讓用戶暫時變更登入的身份。變更時須輸入所要變更的用戶帳號與密碼。
參數:
-c<指令>或--command=<指令> 執行完指定的指令後,即恢復原來的身份。
-f或--fast 適用於csh與tsch,使shell不用去讀取啟動文件。
-.-l或--login 改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,LOGNAME。此外,也會變更PATH變數。
-m,-p或--preserve-environment 變更身份時,不要變更環境變數。
-s
或--shell=
指定要執行的shell。
--help 顯示幫助。
--version 顯示版本信息。
[用戶帳號] 指定要變更的用戶。若不指定此參數,則預設變更為root。
示例:
su -c ls root #變更帳號為 root 並在執行 ls 指令後退出變回原使用者。
su root -f #變更帳號為 root 並傳入 -f 參數給新執行的 shell。
su - test #變更帳號為 test 並改變工作目錄至 test 的家目錄(home dir)。
㈡ Linux下 su命令與su - 命令的區別是什麼
Linux中切換用戶的命令是su或su -。su命令和su -命令最大的本質區別就是:前者只是切換了root身份,但Shell環境仍然是普通用戶的Shell;而後者連用戶和Shell環境一起切換成root身份了。只有切換了Shell環境才不會出現PATH環境變數錯誤。su切換成root用戶以後,pwd一下,發現工作目錄仍然是普通用戶的工作目錄;而用su -命令切換以後,工作目錄變成root的工作目錄了。用echo?$PATH命令看一下su和su -以後的環境變數有何不同。以此類推,要從當前用戶切換到其它用戶也一樣,應該使用su -命令。要學習linux命令可以看看《linux就該這么學》。
㈢ Linux下su命令怎麼使用
腳本內容:
cat test.sh
代碼如下:
#!/bin/bash
su - test <<EOF
pwd;
exit;
EOF
當然也可以用下面的命令來執行
代碼如下:
su - test -c "pwd"
ps:
切換用戶只執行一條命令的可以用: su - oracle -c command
切換用戶執行一個shell文件可以用:su - oracle -s /bin/bash shell.sh
㈣ linux su和sudo命令的區別
su 是Switch User的簡寫,就是切換用戶,切換完成後,就是切換後的用戶環境,如果要求輸入密碼,就是要輸入要切換到的用戶的密碼
sudo 類似於windows系統的以管理員許可權運行,就是執行系統sudoer配置文件里定義的用戶可以執行的操作,就相當於root用戶執行操作,如果提示輸入密碼,是輸入當前用戶的密碼,而不是root用戶密碼
㈤ linux命令,su與su-的區別
su 是切換到其他用戶,但是不切換環境變數(比如說那些你用export命令查看一下,就知道兩個命令的區別了) su - 是完整的切換到一個用戶環境
㈥ Linux下 su命令與su - 命令有什麼區別
Linux下 su命令與su - 命令的區別:
一、切換root身份不同
1、su命令:su只是切換了root身份,但Shell環境仍然是普通用戶的Shell;而su -連用戶和Shell環境一起切換成root身份了。只有切換了Shell環境才不會出現PATH環境變數錯誤,報command not found的錯誤。
2、su - 命令:su切換成root用戶以後,pwd一下,發現工作目錄仍然是普通用戶的工作目錄;而用su -命令切換以後,工作目錄變成root的工作目錄了。
二、採用su deploy命令後,取目標用戶不同
1、su命令:su不會讀取目標用戶的環境配置文件,如圖。
綜上總結:有「-」和無「-」各自的環境變數不同。
三、service命令
1、su命令:使用 su root 切換到root用戶後,不可以使用service命令;
2、su - 命令:使用 su - 後,就可以使用service命令了。
四、用echo $PATH命令後,環境量不同
1、su命令:環境量變為usr。
2、su - 命令:環境量變為oracle。
㈦ linux里的su命令需要輸入密碼,如何在shell腳本里實現自動輸入su命令和密碼
看過man su了,su並不帶輸入密碼的參數,所以需要使用su命令切換用戶的話,只能手動輸入密碼。
㈧ linux中su怎麼用
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來進行授權;
㈨ linux命令怎麼讓su後的命令執行
可以使用 <<EOF 參數實現。
腳本內容:
cat test.sh
代碼如下:
#!/bin/bash
su - test <<EOF
pwd;
exit;
EOF
當然也可以用下面的命令來執行
代碼如下:
su - test -c "pwd"
ps:
切換用戶只執行一條命令的可以用: su - oracle -c command
切換用戶執行一個shell文件可以用:su - oracle -s /bin/bash shell.sh
㈩ 關於linux中的su命令
ubuntu的su命令需要先設置root密碼
sudo passwd root 輸入密碼
取得密碼後在用
su切換到root就可以了
root是linux下的超級用戶具有系統管理員的許可權