Ⅰ shell 如何在切換用戶後執行後面的語句
這個得用 sudo 命令。他在切換用戶後,執行完指定命令後自動切回原用戶。
echo start
sudo -u user ./some.sh
#執行多個命令把命令寫進腳本里。
echo end
注意採納。
Ⅱ linux系統shell腳本如何切換用戶呢
sudo設置下某條命令的許可權就好了 或者直接su用戶然後再改回來
Ⅲ 在shell腳本內如何切換用戶
使用命令即可
su - xxx -c "pwd"
Ⅳ 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用戶的密碼
Ⅳ Shell腳本中切換用戶執行命令
Shell腳本中切換用戶執行命令起因:由於將新項目添加到內網、外網創建git版本庫及gitosis管理比較繁瑣,於是寫個腳本來實現,需要git用戶組的用戶才能進行git相關操作。解決方法:Shell代碼
su
-
www
-c
cd
gitosis-admin
&&
git
add
.
使用su
-u
yourusr
-c
命令,默認的目錄是在/home/yourusr/
目錄的,執行的命令需要切換目錄要注意
Ⅵ SHELL 腳本如何實現切換用戶
目前用的最多的是用Except
步驟如下:
安裝Except
代碼:
#!/usr/bin/envexcept
settimeout30
setuser"USERA"
setmsg"messageinterminal"
setpasswd"yourpassword"
spawnsu$user
expect_before$msg{
send"$passwd "}
interact
注意,msg變數里寫你手動切換user時屏幕提示輸入密碼的信息, passwd就是你切換的那個用戶的密碼。
Ⅶ shell基本命令
常用命令
一、目錄操作
a) ls--查看文件/目錄:
常用:ls –l 查看詳細文件列表
b) pwd--查看當前目錄:
c) cd--改變工作目錄:
常用①:cd ../ 跳轉到上一級目錄
備註: [./]當前目錄 [../]上一級目錄
常用②:cd /boot/ 跳轉到指定目錄
備註:指定目錄一定是完整路徑,例如win的文件路徑一樣。
d) mkdir--創建目錄:
常用:mkdir 123 創建一個空文件夾
e) rm--刪除文件/目錄:
常用: rm -rf 123 刪除目錄文件夾,並且目錄下的文件一並刪除。
備註:直接使用命令[rm],只能刪除空目錄。
-r 刪除目錄 -f 強制刪除文件或目錄
f) mv--移動文件/目錄改名、移動:
移動文件: mv 1.sh ./123 à mv 目標文件 移動至某目錄
重名命文件:mv 1.sh 123.sh à mv 原文件 欲改後文件
g) ln--建立軟連接和硬連接:
軟連接:ln -s 123.sh ../ à ln -s 源文件 欲放置路徑
如同window下的快捷方式,原理一致。
ln -s /root/桌面/共享文件夾/armQT/ /root/桌面
硬連接:ln 123.sh ../ à ln 源文件 欲放置路徑
復制一個文件,且該文件具有獨立性,不受源文件刪除的影響;無論源文件或目標文件的內容修改時,兩份文件都會同步修改。
h) rmdir--刪除空目錄:
二、文件操作
a)cat--查看文件內容,若文件不存在,創建對應文件:
常用:cat 1.txt
b)cp--拷貝文件、目錄:
備份:cp 123.sh 1.sh à cp 源文件 目標文件
復制至某路徑:cp 123.sh ../ à cp 源文件 目標路徑
c)chmod--修改文件許可權:
常用:chmod 777 1.sh 給1.sh最高許可權
備註:讀、寫、運行三項許可權可以用數字表示,就是r=4,w=2,x=1。
777就是rwxrwxrwx,意思是該登錄用戶(可以用命令id查看)、他所在的組和其他人都有最高許可權。
一般模式:chmod +rw 1.sh 僅當前用戶下1.sh具有可讀寫許可權
d)touch--創建文件:
常用:touch ./1.sh à touch 路徑+名稱
f)vim--創建並打開文件:
常用:vim ./1.sh à vim 路徑+名稱
g)find--在指定目錄查找符合條件的文件:
以[文件名+類型]尋找:find ./ -name 「*.*」à find 路徑 -nama 「預找文件名+類型」
尋找文件名為」123」的文件,*代表不限制類型
find ./ ! -name 「*.txt」 à 過濾txt類型文件後,顯示其他文件
備註:-name 區分大小寫 -iname 不區分大小寫
-o 連接符,作用如下圖
以[文件名]尋找:find ./ -path 「*1*」à find 路徑 - path 「預找文件名」
尋找文件名為」1」的所有文件
根據文件類型進行搜索:find . -type 類型參數
h)grep--在文件里查找內容:
從指定文件里查找內容:grep h ./file.txt à grep 內容 路徑
從緩存區里查找內容:ps -ef | grep 5799 à 某顯示命令 | grep 內容
(從進程列表中尋找帶有」5799」的文本行)
i)tar--解壓文件:
壓縮:
tar -cvf 1.tar *.* //將目錄里所有文件打包成1.tar
rar a 1.rar *.* //rar格式的壓縮
zip 1.zip *.* //zip格式的壓縮
解壓:
tar -xvf file.tar //解壓tar包
tar -xzvf file.tar.gz //解壓tar.gz
unrar e file.rar //解壓rar
unzip file.zip //解壓zip
j)file--顯示指定文件的類型:
三、用戶系統及許可權管理操作
a)su--用戶類型切換:
b)adser--添加用戶:
c)passwd--設置(更改)用戶口令:
d)usermod--設置用戶屬性:
e)ps--顯示當前系統用戶進程列表:
常用:ps -ef 顯示當前系統所有用戶的詳細進程
-e 顯示所有程序。 -f 顯示UID,PPIP,C與STIME欄位
-A 顯示所有程序。
f)kill--刪除執行中的進程:
常用:kill 123 à kill pid號
強制結束進程: kill -9 123 à kill -9 pid號
四、幫助命令
a)man--查詢命令閱讀手冊
man kill à 查詢有關[kill]的全部信息
man 2 kill à 只查詢第二條有關[kill]的信息
b)help--查詢命令閱讀手冊
五、網路相關命令
a)ifconfig 查看網路信息,設置ip
b)ping 測試網路聯網狀態
六、U盤操作相關命令
a)fdisk -l 識別usb存儲設備
b)mount –t vfat /dev/sdb /mnt/udisk使用mount命令掛載U盤
c)umount /mnt/udisk 卸載U盤
七、安裝軟體包命令
a)rpm
常用組合命令:
-ivh:安裝顯示安裝進度--install--verbose--hash
-Uvh:升級軟體包--Update;
-qpl: 列出RPM軟體包內的文件信息[Query Package list];
-qpi:列出RPM軟體包的描述信息[Query Package install package(s)];
-qf:查找指定文件屬於哪個RPM軟體包[Query File];
-Va:校驗所有的 RPM軟體包,查找丟失的文件[View Lost];
-e:刪除包
Ⅷ 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:~#
(8)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,用完即切換回普通用戶。