linuxsu
① 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的命令
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 - root
su - mysql
切換回root一般需要輸入密碼
④ 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就該這么學》。
⑤ 用ssh訪問Linux時,su 用戶與su -用戶有什麼區別意思就是加」-「與不加「-」有什麼區別。
su weblogic 切換到weblogic用戶,但不讀取weblogic用戶的環境變數,home目錄也不會換。
su -weblogic 敲錯了,應該是su - weblogic(有空格),讀取weblogic用戶的環境變數,home目錄也不會換。
⑥ 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與su-的區別
su 是切換到其他用戶,但是不切換環境變數(比如說那些你用export命令查看一下,就知道兩個命令的區別了) su - 是完整的切換到一個用戶環境
⑧ linux中 su - 的含義,及其作用是什麼
su並不是真正地切換用戶,它只是改變身份的一個命令而已,你可以把它當做一種嵌套,當你以root身份執行su yph命令時,下面的命令便會以yph用戶的身份執行,但是值得注意的一點是當前的環境變數、工作目錄等全都沒有改變,也就是說仍在root使用的環境變數中,此時執行pwd查看當前工作目錄應該會輸出「/root」,當再以yph身份執行su - root命令後,你便又是以root身份執行命令了,可是此時的情況應該是:
root環境/yph身份/root身份
即當你輸入logout時便會返回到:「/root環境/ypt身份」下,在此環境再輸入logout則可能會顯示「bash: logout: not login shell: use `exit'」,即當前yph用戶所用的shell中沒有logout,因為logout命令需要以root身份執行,此時正確的做法是執行exit命令,便會到退出到root下,即為剛進入root用戶時的狀態
⑨ 關於linux中的su命令
ubuntu的su命令需要先設置root密碼
sudo passwd root 輸入密碼
取得密碼後在用
su切換到root就可以了
root是linux下的超級用戶具有系統管理員的許可權
⑩ Linux裡面su和sudo區別是什麼
1、定義上:
su為switch user,即切換用戶的簡寫。su是最簡單的身份切換名,用su我們能夠進行不論什麼用戶的切換,一般都是su - username,然後輸入password就ok了,可是root用su切換到其它身份的時候是不須要輸入password的。
sudo是一種許可權管理機制,依賴於/etc/sudoers,其定義了授權給哪個用戶可以以管理員的身份能夠執行什麼樣的管理命令。
2、格式上:
su格式為兩種:su -l USERNAME(-l為login,即登陸的簡寫)、su USERNAME。
sudo格式:sudo -u USERNAME COMMAND。
3、默認情況下:
su默認情況下如果不指定USERNAME(用戶名),默認即為root,所以切換到root的身份的命令即為:su -root或su -,su root 或su。
sudo默認情況下,系統只有root用戶可以執行sudo命令。需要root用戶通過使用visudo命令編輯sudo的配置文件/etc/sudoers,才可以授權其他普通用戶執行sudo命令。
4、密碼上:
兩個命令的最大區別是:sudo命令需要輸入當前用戶的密碼,su命令需要輸入 root 用戶的密碼。
5、日誌記錄上:
盡管sudo命令是以目標用戶(默認情況下是 root 用戶)的身份執行命令,但是它們會使用sudoer所配置的用戶名來記錄是誰執行命令。而su命令是無法直接跟蹤記錄用戶切換到 root 用戶之後執行了什麼操作。
6、靈活性
sudo命令比su命令靈活很多,因為甚至可以限制 sudo 用戶可以訪問哪些命令。換句話說,用戶通過sudo命令只能訪問他們工作需要的命令。而su命令讓用戶有許可權做任何事情。