shell腳本切換用戶
A. 有沒有辦法在Shell腳本中切換到root用戶
如果adsl-start不是腳本,則
chmod 4755 /usr/sbin/adsl-start
如果是腳本就找到對應的程序再 4755
或是用 expect 來搞也可以。看 expect 的例子。
B. 怎麼在shell腳本中實現su切換用戶
目前用的最多的是用Except
步驟如下:
安裝Except
代碼:
123456789- #!/usr/bin/envexceptsettimeout30setuser"USERA"setmsg"messageinterminal"setpasswd"yourpassword"spawnsu$userexpect_before$msg{send"$passwd "}interact
注意,msg變數里寫你手動切換user時屏幕提示輸入密碼的信息, passwd就是你切換的那個用戶的密碼。
C. linux中怎麼從root用戶切換到普通用戶
如果當前是root用戶,那麼切換成普通用戶test用以下命令:
su - test
root@ubuntu:~# su - test
[sudo] password for test:
test@ubuntu:~$
如果要切換回root用戶,那麼用以游蘆下命令:su或su -用戶名root可以省略不寫。切換回root用戶時要輸入root密碼。一般直接輸入exit命令來切換回root用戶,這樣就不用輸入密碼。
test@ubuntu:~$ exit
logout
root@ubuntu:~#
(3)shell腳本切換用戶擴展閱讀
SU:( Switch user切換用戶),可讓一個普通用戶切換為超級用戶或其他用戶,並可臨時擁有所切換用戶的許可權,切換時需輸入欲切換用戶的密碼;也可以讓超級用戶切換為普通用戶,臨時以低許可權身份處理事務,切換時無需輸入欲切換用戶的密碼。
參數
-c<指令>或--command=<指令>:執行一個指令後就恢復原來的身份;
-f或--fast:使shell不用讀取啟動文件,適用於csh和tcsh;
-,-l,--login:切換用戶時,使環境變數(home,shell,user,logname,path等)和欲切換的用戶相同、
不使用則取得用戶的臨時許可權;
-m,-p,:變更身份時,保留環境變數不變;
-s<shell>,--shell=<shell>:指定執行命令的shell;
--help:顯示幫助;
--version:顯示版本信息;
用戶賬戶:指定欲切換用戶拆唯,默認切換為root。
注:root許可權極高,幾乎可旅磨培以做任何事,謹慎使用,平時使用普通用戶登錄,必要時臨時切換為root,用完即切換回普通用戶。
D. SHELL腳本切換用戶需輸入密碼
正常情況下,使用su - username的方式,普通用戶切換都需要輸入密碼的,只有root su的時候才不需要
E. linux 用戶退出怎麼命令
用戶碼察咐退出登錄的方法有以下三種:
1、在shell提示符下輸入 exit 按回車確認
2、在shell提示符下輸入 logout 按回車確認
3、按快捷鍵crtl+d (此方沒敏法同logout效果)
(5)shell腳本切換用戶擴展閱讀:
Linux常用命令之——退出、切換用戶exit、su
exit命令同於退出shell,並返回給定值,在shell腳本中可以終止當前腳本執行,執行exit可使shell以指定的狀態值退出。
若不設置狀態值參數,則shell以預設值退出,狀態值0代表執行成功,其他值代表執行失敗。
su命令用於切換當前用戶身份到其他用戶身份,變更時須輸入所要變更的用戶帳號與密碼。
選項:遲純
-c<指令>或--command=<指令>:執行完指定的指令後,即恢復原來的身份;
-f或——fast:適用於csh與tsch,使shell不用去讀取啟動文件;
-l或——login:改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,logname。此外,也會變更PATH變數;
-m,-p或--preserve-environment:變更身份時,不要變更環境變數;
-s<shell>或--shell=<shell>:指定要執行的shell;
--help:顯示幫助;
--version;顯示版本信息。
F. linux shell腳本切換用戶執行一段命令
ls -l /bin/echo 看看echo命令的許可權是什麼 如果其他用戶沒有執行許可權,就切到root下加一下x許可權
chmod o+x /bin/echo
G. Shell腳本中切換用戶執行命令
Shell腳本中切換用戶執行命令起因:由於將新項目添加到內網、外網創建git版本庫及gitosis管理比較繁瑣,於是寫個腳本來實現,需要git用戶組的用戶才能進行git相關操作。解決方法:Shell代碼
su
-
www
-c
cd
gitosis-admin
&&
git
add
.
使用su
-u
yourusr
-c
命令,默認的目錄是在/home/yourusr/
目錄的,執行的命令需要切換目錄要注意
H. SHELL切換用戶後怎麼繼續執行腳本,求大神
(1) 需要把${fileforwardpath}改成真正的full path。
(2)手讓 make sure這個path上畢飢局每個dir的permission是755
(3) make sure 這兩肢頃個sql file(0_CreateUser.sql & 1_DBSetup.sql)的permission是755
I. shell 如何在切換用戶後執行後面的語句
這個得用 sudo 命令。他在切換用戶後,執行完指定命令後自動切回原用高衫空戶。
echo start
sudo -u user ./some.sh
#執戚瞎行多個命令把命令寫進腳本里。
echo end
注意採納。塌老
J. SHELL腳本切換用戶需輸入密碼
先確認一下su
-c
能否解決巧慶問題,語法
su
-
-c
以指定派寬缺用戶執行命令
[root@fw98
/]#
whoami
root
[root@fw98
/]#
su
-
mao
-c
whoami
mao
不能滿足需求的話,可以用expect,我的環境上沒有expect,不能幫你試了,大致是下面的感覺,詳細你網路查一下
#!/usr/bin/expect
su
-
mao
#你要執行的命令
expect
"Password:"
#執行後終端回顯的交互信息
send
"admin_123\r"
#當終端出現上面的交互詳細後,模擬鍵盤輸入的內容
#此例,執行su
-
mao
切換mao用戶,終端提示輸入密碼後,模擬鍵盤輸塵辯入mao用戶的密碼