Linux的su、sudo命令使用及區(qū)別學(xué)習(xí)筆記
Linux的su、sudo命令使用及區(qū)別學(xué)習(xí)筆記
主要對su、sudo命令的功能進行介紹和兩者之間的區(qū)別以及使用方式,接下來是小編為大家收集的Linux的su、sudo命令使用及區(qū)別學(xué)習(xí)筆記,歡迎大家閱讀:
Linux的su、sudo命令使用及區(qū)別學(xué)習(xí)筆記
一:兩者之間的區(qū)別
su用于用戶之間的切換。
sudo用于普通用戶可以使用root權(quán)限來執(zhí)行指定命令。
二:su、sudo命令介紹
1、su
a) su簡介
su用于用戶之間的切換。但是前面的用戶依然保持在登錄狀態(tài)。這種切換如果超級權(quán)限用戶root向普通或虛擬用戶切換不需要密碼,而普通用戶切換到其它任何用戶都需要密碼驗證。
b) su用法
su在不加任何參數(shù),默認為切換到root用戶,但沒有轉(zhuǎn)到root用戶家目錄下,也就是說這時雖然是切換為root用戶了,但并沒有改變root登錄環(huán)境;用戶默認的登錄環(huán)境,可以在/etc/passwd 中查得到,包括家目錄,SHELL定義等;
su 加參數(shù) - ,表示默認切換到root用戶,并且改變到root用戶的環(huán)境;
具體用法:
命令格式:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER[ARG]]
命令參數(shù)說明:
-f , –fast:不必讀啟動文件(如csh.cshrc 等),僅用于csh或tcsh兩種Shell。
-l , –login:加了這個參數(shù)之后,就好像是重新登陸一樣,大部分環(huán)境變量(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,并且工作目錄也會改變。如果沒有指定USER,缺省情況是root。
-m, -p ,–preserve-environment:執(zhí)行su時不改變環(huán)境變數(shù)。
-c command:變更賬號為USER的使用者,并執(zhí)行指令(command)后再變回原來使用者。
–help 顯示說明文件
–version 顯示版本資訊
USER:欲變更的使用者賬號,
ARG: 傳入新的Shell參數(shù)。
c) su不足
i)不安全su工具在多人參與的系統(tǒng)管理中,并不是最好的選擇,su只適用于一兩個人參與管理的系統(tǒng),畢竟su并不能讓普通用戶受限的使用;超級用戶root密碼應(yīng)該掌握在少數(shù)用戶手中。
ii) 如果某個用戶需要使用root權(quán)限、則必須要把root密碼告訴此用戶。
2、sudo
a) sudo簡介
是為所有想使用root權(quán)限的普通用戶設(shè)計的。可以讓普通用戶具有臨時使用root權(quán)限的權(quán)利。只需輸入自己賬戶的密碼即可。當然這個普通用戶必須在/etc/sudoers文件中有配置項、才具有使用sudo的權(quán)利
b) sudo用法
i) 首先要為使用sudo命令的普通用戶在/etc/sudoers文件中配置此普通用戶的使用權(quán)。
ii) 具體用法及參數(shù)說明:
命令格式:sudo[option]
普通用戶使用sudo執(zhí)行root權(quán)限用法:sudocommand
說明:以系統(tǒng)管理者的身份執(zhí)行指令,也就是說,經(jīng)由sudo所執(zhí)行的指令就好像是root親自執(zhí)行一樣。這種命令貌似不能與下面的參數(shù)結(jié)合使用!
命令參數(shù):
-V顯示版本編號
-h會顯示版本編號及指令的使用方式說明
-l顯示出自己(執(zhí)行sudo的使用者)的權(quán)限
-v因為sudo在第一次執(zhí)行時或是在N分鐘內(nèi)沒有執(zhí)行(N預(yù)設(shè)為五)會問密碼,這個參數(shù)是重新做一次確認,如果超過N分鐘,也會問密碼
-k將會強迫使用者在下一次執(zhí)行sudo時問密碼(不論有沒有超過N分鐘)
-b將要執(zhí)行的指令放在背景執(zhí)行
-pprompt可以更改問密碼的提示語,其中%u會代換為使用者的帳號名稱,%h會顯示主機名稱
-uusername/#uid不加此參數(shù),代表要以root的身份執(zhí)行指令,而加了此參數(shù),可以以username的身份執(zhí)行指令(#uid為該username的使用者號碼)
-s執(zhí)行環(huán)境變數(shù)中的SHELL所指定的shell,或是/etc/passwd里所指定的shell
-H將環(huán)境變數(shù)中的HOME(家目錄)指定為要變更身份的使用者家目錄(如不加-u參數(shù)就是系統(tǒng)管理者root)
command要以系統(tǒng)管理者身份(或以-u更改為其他人)執(zhí)行的指令
看了“Linux的su、sudo命令使用及區(qū)別學(xué)習(xí)筆記”還想看: