這篇文章主要講解了“Linux系統(tǒng)中的切換用戶(hù)命令總結(jié)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Linux系統(tǒng)中的切換用戶(hù)命令總結(jié)”吧!
創(chuàng)新互聯(lián)建站是專(zhuān)業(yè)的內(nèi)丘網(wǎng)站建設(shè)公司,內(nèi)丘接單;提供網(wǎng)站制作、成都網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行內(nèi)丘網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!#1:runuser命令
runuser命令使用一個(gè)替代的用戶(hù)或者組ID運(yùn)行一個(gè)Shell。這個(gè)命令僅在root用戶(hù)時(shí)有用。
僅以會(huì)話(huà)PAM鉤子運(yùn)行,并且沒(méi)有密碼提示。如果用一個(gè)非root用戶(hù),并且該用戶(hù)沒(méi)有權(quán)限設(shè)置user ID,這個(gè)命令將會(huì)因?yàn)槌绦驔](méi)有setuid而失敗。因runuser不會(huì)運(yùn)行認(rèn)證和賬戶(hù)PAM鉤子,它比su更底層。
語(yǔ)法:
代碼如下:
runuser -l userNameHere -c 'command'
runuser -l userNameHere -c '/path/to/command arg1 arg2'
舉例來(lái)說(shuō),作為一個(gè)root用戶(hù),你也許想檢查下oracle用戶(hù)下的shell資源限制,輸入:
代碼如下:
# runuser -l oracle -c 'ulimit -SHa'
或者監(jiān)察下nginx或lighttpd web服務(wù)器限制:
代碼如下:
# runuser -l nginx -c 'ulimit -SHa'
或
代碼如下:
# runuser -l lighttpd -c 'ulimit -SHa'
有時(shí),root用戶(hù)由于權(quán)限(安全)問(wèn)題不能瀏覽NFS掛載的共享:
代碼如下:
# ls -l /nfs/wwwroot/cyberciti.biz/http
或
代碼如下:
# cd /nfs/wwwroot/cyberciti.biz/http
可能的輸出:
代碼如下:
-bash: cd: /nfs/wwwroot/cyberciti.biz/http/: Permission denied
盡管如此,apache用戶(hù)被允許瀏覽或訪(fǎng)問(wèn)掛載在/nfs/wwwroot/cyberciti.biz/http/下基于nfs的系統(tǒng):
代碼如下:
# 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命令,無(wú)需使用密碼,并且,只能在root用戶(hù)下使用。
可用選項(xiàng):
-l: 讓shell成為登錄shell,用 runuser -l PAM 文件替代默認(rèn)的
-g:指定主要的組
-G 追加組
-c:命令,要傳到shell的單個(gè)命令
--session-command=COMMAND:使用-c傳遞單個(gè)命令道shell中并且不創(chuàng)建新的會(huì)話(huà)
-m: 不重置環(huán)境變量。
#2:su命令
su命令允許你成為一個(gè)超級(jí)用戶(hù)或者替代用戶(hù)(substitute user),欺騙用戶(hù)(spoof user),設(shè)置用戶(hù)(set user)或者切換用戶(hù)(switch user)。它允許一個(gè)Linxu用戶(hù)切換當(dāng)前用戶(hù)到那些你知道密碼的目標(biāo)用戶(hù),切換包括與之關(guān)聯(lián)的運(yùn)行中的控制臺(tái)(console)或者Shell,它的語(yǔ)法如下:
代碼如下:
su -
su - username
切換到root用戶(hù)
su命令會(huì)詢(xún)問(wèn)目標(biāo)用戶(hù)的密碼,在你的shell命令行中輸入 su - 來(lái)切換到root用戶(hù)(你必須知道root用戶(hù)的密碼):
代碼如下:
vivek@wks01:~$ su -
或
代碼如下:
vivek@wks01:~$ su - root
輸出示例:
Password:
代碼如下:
root@wks01:/root# logout
vivek@wks01:~$
如果輸入了正確的root密碼,會(huì)話(huà)的所有權(quán)(這里應(yīng)該指當(dāng)前控制臺(tái)的上下文——譯注)將改為root賬戶(hù)。輸入logout可以退出一個(gè)root登錄的shell,輸入 whoami或者id命令來(lái)驗(yàn)證當(dāng)前會(huì)話(huà)的所有者:
whoami
或
id
用root賬戶(hù)運(yùn)行命令
語(yǔ)法是:
代碼如下:
su - root -c "command"
或
代碼如下:
su - -c "command arg1"
查看/root目錄下的內(nèi)容,這些原本是普通用戶(hù)無(wú)法訪(fǎng)問(wèn)的,運(yùn)行:
代碼如下:
su - root -c "ls -l /root"
需要注意的是,Linix和一些Unix-like系統(tǒng)有一個(gè)wheel用戶(hù)組,并且只允許這個(gè)組內(nèi)的用戶(hù)使用su切換到root。
使用su命令來(lái)讓其他用戶(hù)運(yùn)行命令
下面這個(gè)命令是切換到oracle的賬戶(hù),并且顯示限制清單:
代碼如下:
$ su - oracle -c 'ulimit -aHS'
同樣, 如果提供了正確的oracle密碼,會(huì)話(huà)所有權(quán)將會(huì)變成oracle賬戶(hù)。su命令的日志保存在系統(tǒng)日志中,一般是在/var/log/auth.log(Debian/Ubuntu)或者/var/log/secure(RHEL/CentOS)。
#3: sudo命令
sudo以另外的用戶(hù)來(lái)執(zhí)行一個(gè)命令,但是它跟著一組關(guān)于那些用戶(hù)可以以那些其他用戶(hù)執(zhí)行那些命令的規(guī)則(有點(diǎn)繞口——譯注)。這個(gè)規(guī)則在/etc/sudoers這個(gè)文件中被定義。不像su,sudo驗(yàn)證用戶(hù)是靠用戶(hù)自己的密碼而不是那個(gè)要切換的用戶(hù)密碼。當(dāng)提供一個(gè)審計(jì)跟蹤命令和他們的參數(shù)時(shí)(原文:...whileproviding an audit trail of the commands and their arguments——譯注)sudo允許一個(gè)系統(tǒng)管理員給某些用戶(hù)(或用戶(hù)組)委派以root或其他用戶(hù)來(lái)運(yùn)行某些(或全部)命令的權(quán)限。這允許無(wú)需在用戶(hù)之間共享密碼就可以在指定宿主上將指定命令委派給指定用戶(hù)。語(yǔ)法如下:
代碼如下:
sudo command
GUI工具注意事項(xiàng)(su和sudo的前端GUI)
gksu 命令是su的前臺(tái),gksudo 是sudo的前端。他們的主要用途是用來(lái)運(yùn)行需要root權(quán)限但不需要運(yùn)行一個(gè)X terminal emulator和使用直接使用su的圖形化命令。語(yǔ)法如下:
代碼如下:
gksu [-u <user>] [options] <command>
gksudo [-u <user>] [options] <command>
僅輸入gksu,將會(huì)顯示下面這個(gè)彈窗:
然后,你將會(huì)被要求輸入root用戶(hù)的密碼:
你也可以直接運(yùn)行下面代碼:
代碼如下:
gksu -u root 'ls /root'
或,以oracle用戶(hù)運(yùn)行命令:
代碼如下:
gksu -u oracle 'ulimit -aHS'
或作為root登錄:
代碼如下:
gksu -u root -l
總結(jié):runuser VS su VS sudo
感謝各位的閱讀,以上就是“Linux系統(tǒng)中的切換用戶(hù)命令總結(jié)”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Linux系統(tǒng)中的切換用戶(hù)命令總結(jié)這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
本文題目:Linux系統(tǒng)中的切換用戶(hù)命令總結(jié)-創(chuàng)新互聯(lián)
文章位置:http://aaarwkj.com/article48/ccoiep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、標(biāo)簽優(yōu)化、外貿(mào)建站、網(wǎng)站設(shè)計(jì)公司、全網(wǎng)營(yíng)銷(xiāo)推廣、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容