亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

Linux系統中的切換用戶命令

添加時間:2016-1-28 2:16:31  添加: 思海網絡 

Linux系統中的切換用戶命令


#1:runuser命令

runuser命令使用一個替代的用戶或者組ID運行一個Shell。這個命令僅在root用戶時有用。

僅以會話PAM鉤子運行,并且沒有密碼提示。如果用一個非root用戶,并且該用戶沒有權限設置user ID,這個命令將會因為程序沒有setuid而失敗。因runuser不會運行認證和賬戶PAM鉤子,它比su更底層。

語法:

 

代碼如下:
runuser -l userNameHere -c 'command'
runuser -l userNameHere -c '/path/to/command arg1 arg2'

舉例來說,作為一個root用戶,你也許想檢查下oracle用戶下的shell資源限制,輸入:

 

代碼如下:
# runuser -l oracle -c 'ulimit -SHa'

或者監察下nginx或lighttpd web服務器限制:

 

代碼如下:
# runuser -l nginx -c 'ulimit -SHa'



代碼如下:
# runuser -l lighttpd -c 'ulimit -SHa'

有時,root用戶由于權限(安全)問題不能瀏覽NFS掛載的共享:

 

代碼如下:
# ls -l /nfs/wwwroot/cyberciti.biz/http



代碼如下:
# cd /nfs/wwwroot/cyberciti.biz/http

可能的輸出:

 

代碼如下:
-bash: cd: /nfs/wwwroot/cyberciti.biz/http/: Permission denied

盡管如此,apache用戶被允許瀏覽或訪問掛載在/nfs/wwwroot/cyberciti.biz/http/下基于nfs的系統:

 

代碼如下:
# runuser -l apache -c 'ls -l /nfs/wwwroot/cyberciti.biz/http/'



代碼如下:
# runuser -l apache -c 'cd /nfs/wwwroot/cyberciti.biz/http/; vi index.php'

使用runuser命令,無需使用密碼,并且,只能在root用戶下使用。

可用選項:

-l: 讓shell成為登錄shell,用 runuser -l PAM 文件替代默認的
-g:指定主要的組
-G 追加組
-c:命令,要傳到shell的單個命令
--session-command=COMMAND:使用-c傳遞單個命令道shell中并且不創建新的會話
-m: 不重置環境變量。


#2:su命令
su命令允許你成為一個超級用戶或者替代用戶(substitute user),欺騙用戶(spoof user),設置用戶(set user)或者切換用戶(switch user)。它允許一個Linxu用戶切換當前用戶到那些你知道密碼的目標用戶,切換包括與之關聯的運行中的控制臺(console)或者Shell,它的語法如下:

 

代碼如下:
su -
su - username

切換到root用戶
su命令會詢問目標用戶的密碼,在你的shell命令行中輸入 su - 來切換到root用戶(你必須知道root用戶的密碼):

 

代碼如下:
vivek@wks01:~$ su -



代碼如下:
vivek@wks01:~$ su - root

輸出示例:

Password:

復制代碼
代碼如下:
root@wks01:/root# logout
vivek@wks01:~$

如果輸入了正確的root密碼,會話的所有權(這里應該指當前控制臺的上下文——譯注)將改為root賬戶。輸入logout可以退出一個root登錄的shell,輸入 whoami或者id命令來驗證當前會話的所有者:

whoami

id
用root賬戶運行命令
語法是:

 

代碼如下:
su - root -c "command"



代碼如下:
su - -c "command arg1"

 查看/root目錄下的內容,這些原本是普通用戶無法訪問的,運行:

 

代碼如下:
su - root -c "ls -l /root"

需要注意的是,Linix和一些Unix-like系統有一個wheel用戶組,并且只允許這個組內的用戶使用su切換到root。

使用su命令來讓其他用戶運行命令
下面這個命令是切換到oracle的賬戶,并且顯示限制清單:

 

代碼如下:
$ su - oracle -c 'ulimit -aHS'

 同樣, 如果提供了正確的oracle密碼,會話所有權將會變成oracle賬戶。su命令的日志保存在系統日志中,一般是在/var/log/auth.log(Debian/Ubuntu)或者/var/log/secure(RHEL/CentOS)。

#3: sudo命令
sudo以另外的用戶來執行一個命令,但是它跟著一組關于那些用戶可以以那些其他用戶執行那些命令的規則(有點繞口——譯注)。這個規則在/etc/sudoers這個文件中被定義。不像su,sudo驗證用戶是靠用戶自己的密碼而不是那個要切換的用戶密碼。當提供一個審計跟蹤命令和他們的參數時(原文:...whileproviding an audit trail of the commands and their arguments——譯注)sudo允許一個系統管理員給某些用戶(或用戶組)委派以root或其他用戶來運行某些(或全部)命令的權限。這允許無需在用戶之間共享密碼就可以在指定宿主上將指定命令委派給指定用戶。語法如下:

 

代碼如下:
sudo command

GUI工具注意事項(su和sudo的前端GUI)
gksu 命令是su的前臺,gksudo 是sudo的前端。他們的主要用途是用來運行需要root權限但不需要運行一個X terminal emulator和使用直接使用su的圖形化命令。語法如下:

 

代碼如下:
gksu [-u <user>] [options] <command>
gksudo [-u <user>] [options] <command>

僅輸入gksu,將會顯示下面這個彈窗:

然后,你將會被要求輸入root用戶的密碼:


你也可以直接運行下面代碼:

 

代碼如下:
gksu -u root 'ls /root'

或,以oracle用戶運行命令:

 

代碼如下:
gksu -u oracle 'ulimit -aHS'

或作為root登錄:

 

代碼如下:
gksu -u root -l
 
總結:runuser VS su VS sudo

 

關鍵字:Linux、系統、服務器

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站