1、切換root身份不同
創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比平和網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式平和網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋平和地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。
su命令:su只是切換了root身份,但shell環(huán)境仍然是普通用戶的shell;而su-連用戶和shell環(huán)境一切切換成root身份了。只有切換了shell環(huán)境才不會(huì)出現(xiàn)PATH環(huán)境變量錯(cuò)誤,報(bào)command not found的錯(cuò)誤。
su-命令:su切換成root用戶以后,pwd一下,發(fā)現(xiàn)工作目錄仍然是普通用戶的工作目錄;而用su-命令切換以后,工作目錄變成root的工作目錄了。
2、采用su deploy命令后,取目標(biāo)用戶不同
su命令:su不會(huì)讀取目標(biāo)用戶的環(huán)境配置文件。
su-命令:su-讀取目標(biāo)用戶的環(huán)境配置文件。
3、service命令
su命令:使用su root切換到root用戶后,不可以使用service命令;
su-命令:使用su-后,就可以使用service命令了。
4、用echo $PATH命令后,環(huán)境量不同
su命令:環(huán)境量變?yōu)閡sr。
su-命令:環(huán)境量變?yōu)閛racle。
1、切換root身份不同
su命令:su只是切換了root身份,但shell環(huán)境仍然是普通用戶的shell;而su-連用戶和shell環(huán)境一切切換成root身份了。只有切換了shell環(huán)境才不會(huì)出現(xiàn)PATH環(huán)境變量錯(cuò)誤,報(bào)command not found的錯(cuò)誤。
su-命令:su切換成root用戶以后,pwd一下,發(fā)現(xiàn)工作目錄仍然是普通用戶的工作目錄;而用su-命令切換以后,工作目錄變成root的工作目錄了。
2、采用su deploy命令后,取目標(biāo)用戶不同
su命令:su不會(huì)讀取目標(biāo)用戶的環(huán)境配置文件。
su-命令:su-讀取目標(biāo)用戶的環(huán)境配置文件。
3、service命令
su命令:使用su root切換到root用戶后,不可以使用service命令;
su-命令:使用su-后,就可以使用service命令了。
4、用echo $PATH命令后,環(huán)境量不同
su命令:環(huán)境量變?yōu)閡sr。
su-命令:環(huán)境量變?yōu)閛racle。
用su命令切換用戶,su-切換超級(jí)用戶。
如果不需要Administrator賬戶,可以依次打開(kāi)“開(kāi)始→控制面板→管理工具→計(jì)算機(jī)管理”。
在“計(jì)算機(jī)管理”窗口,展開(kāi)“系統(tǒng)工具→本地用戶和組→用戶”,在“用戶”右邊窗口雙擊Administrator賬戶,在彈出的“屬性”窗口中選中“賬號(hào)已停用”前的復(fù)選框(如圖2),按“確定”即可停用Administrator賬戶。
su和sudo這兩個(gè)命令是Linux運(yùn)維必須要會(huì)的,通常在生產(chǎn)環(huán)境中都是使用普通帳號(hào)來(lái)登錄,再使用su或sudo來(lái)執(zhí)行一些管理命令。
su:run a shell with substitute user and group ids
-,-l,--login 切換后使用指定用戶的的shell。
-c,--command=COMMAND 可以在不切換當(dāng)前shell的情況下,用指定的用戶來(lái)執(zhí)行一個(gè)命令;
如果在su的時(shí)候沒(méi)有加”-“或“-l”或“--login”那么默認(rèn)的會(huì)使用 當(dāng)前用戶 的shell來(lái)執(zhí)行 ;
sudo的配置文件是: /etc/sudoers ,該文件可以定義哪個(gè)用戶可以在哪個(gè)機(jī)器上以哪個(gè)用戶的身份來(lái)執(zhí)行哪些命令;
在配置sudo時(shí)必須使用 visudo 來(lái)編輯配置文件,因?yàn)槭褂胿isudo可以檢查修改后的文件的語(yǔ)法是否正確;
可以將上面的配置行分成四部分:part1 part2 part3 part4
例如:
那么如果用戶的數(shù)量過(guò)多的時(shí)候是不是要為每個(gè)用戶來(lái)創(chuàng)建一個(gè)條目呢,很顯示這樣做是不科學(xué)的。所以sudo就引入了別名的概念,其實(shí)和組也差不多;
alias定義的語(yǔ)法:
要注意的是,這個(gè)Alias的名稱(chēng)一定要大寫(xiě);
user1是一個(gè)用戶,user2是一個(gè)組,所以u(píng)ser2的前面要加上%
可以使用主機(jī)名,IP地址,網(wǎng)段(網(wǎng)段的掩碼可以寫(xiě)成255.255.255.0,也可以寫(xiě)成/24)
命令必須使用絕對(duì)路徑。如果只指定了一個(gè)目錄,那么用戶就可以執(zhí)行該目錄下的所有的文件;上面的“=”右邊的都可以使用“!”來(lái)取反。表示除了xxx以外;
例子 :請(qǐng)?jiān)试Suser1,user2,user3在192.168.20.44和192.168.10.0/24網(wǎng)段的機(jī)器上使用sudo切換到root用戶來(lái)執(zhí)行useradd和setup命令;
然后就可以使用user1,user2,user3這三個(gè)用戶去測(cè)試了;
注意:當(dāng)用戶第一次執(zhí)行sudo命令的時(shí)候是需要用戶輸入自己的密碼的。當(dāng)?shù)谝淮屋斎胝_后,這個(gè)密碼就會(huì)被緩存5分鐘,在5分鐘內(nèi)用戶再次使用sudo來(lái)切換身份執(zhí)行命令的時(shí)候就不需要再次輸入自己的密碼。
這樣呢有些時(shí)候會(huì)有一個(gè)安全隱患,所以為了去掉這個(gè)5分鐘,可以在使用sudo命令的時(shí)候加上“-k”參數(shù),這樣用戶在每次執(zhí)行sudo命令的時(shí)候都會(huì)讓用戶輸入自己的密碼。
如果想讓某個(gè)用戶在執(zhí)行sudo的時(shí)候不需要輸入自己的密碼,那么可以在命令的前面添加NOPASSWD。/etc/sudoers的內(nèi)容如下:
這樣的話,user1,user2,user3這三個(gè)用戶在執(zhí)行指定的命令的時(shí)候就不需要輸入自己的密碼了。
如果其中的命令有的需要輸入密碼,有的不需要輸入密碼的話,那就把PASSWD:寫(xiě)在那些命令的前面?;蚴前袾OPASSWD:寫(xiě)在最后一個(gè)命令中;
例子:讓用戶user4使用passwd來(lái)管理用戶的密碼,但是不能給root用戶設(shè)置密碼:
注意:如果最后不加上!/usr/bin/passwd root的話,那么會(huì)有很大的漏洞,user4可以修改root用戶的密碼;當(dāng)添加上后,user4再次執(zhí)行sudo passwd root的時(shí)候就會(huì)提示: