當前位置:首頁 » 編程軟體 » linux腳本su

linux腳本su

發布時間: 2022-07-03 17:16:54

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和sudo命令的區別

su表示切換用戶命令命令,如:
輸入:su命令後回車表示切換當前的用戶到root用戶,或者:
輸入:su - root(或者其他用戶名)這里加了"-"後表示也切換的當前的環境變數到新用戶的環境變數,su root(或者其他用戶名)表示不切換環境變數到當前用戶下。

sudo 表示獲取臨時的root許可權命令,如:
sudo gedit /etc/shadow,表示臨時使用root許可權來編輯/etc/shadow密碼文件,因為/etc/shadow密碼文件需要使用root許可權才能打開與編輯。所以這里使用了sudo命令臨時使用root許可權來做一些普通賬戶無法完成的工作~

③ 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命令需要輸入密碼,如何在shell腳本里實現自動輸入su命令和密碼

看過man su了,su並不帶輸入密碼的參數,所以需要使用su命令切換用戶的話,只能手動輸入密碼。

⑤ 關於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命令怎麼使用

腳本內容:
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 - 命令有什麼區別

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 - 的含義,及其作用是什麼

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用戶時的狀態

熱點內容
一般的伺服器電腦 發布:2022-08-19 16:48:54 瀏覽:355
安卓怎麼看dpi 發布:2022-08-19 16:48:00 瀏覽:279
新媒體編程 發布:2022-08-19 16:43:46 瀏覽:26
我的世界手游版推薦伺服器 發布:2022-08-19 16:43:36 瀏覽:266
電腦清空緩存 發布:2022-08-19 16:43:33 瀏覽:152
java事件觸發 發布:2022-08-19 16:42:18 瀏覽:459
手游巴西伺服器叫什麼 發布:2022-08-19 16:42:16 瀏覽:725
python進程退出 發布:2022-08-19 16:36:08 瀏覽:304
sqlserver2008還原資料庫 發布:2022-08-19 16:35:56 瀏覽:332
石家莊聯通伺服器ip地址 發布:2022-08-19 16:34:25 瀏覽:927