Linux中su和sudo的用法整理
一、為什么會有su和sudo命令?
主要是因?yàn)樵趯?shí)際工作當(dāng)中需要在Linux不同用戶之間進(jìn)行切換。root用戶權(quán)限最高很多時(shí)候需要root用戶才能執(zhí)行一些關(guān)鍵命令。所以需要臨時(shí)切換為root用戶。工作完成后,考慮到系統(tǒng)的安全性避免誤操作需要切換為普通用戶。su和sudo就是為了解決該問題內(nèi)置的Linux命令。
二、su的用法
su命令其實(shí)就是切換用戶的意思。
示例:
su? #默認(rèn)切換到root用戶,執(zhí)行后然后輸入root密碼就可以切換root用戶,最后執(zhí)行exit命令可以切換到原先的用戶。
su-? #切換為root用戶并且可以把當(dāng)前目錄切換為root的用戶家目錄/root。
說明:在root用戶下可以切換為系統(tǒng)擁有的任意用戶并且不需要輸入其用戶密碼。
su命令的缺點(diǎn):執(zhí)行該命令是需要知道root用戶的密碼的。因?yàn)閞oot用戶擁有系統(tǒng)的最高權(quán)限,很容易誤操作造成系統(tǒng)掛掉。一般情況下root密碼盡可能要進(jìn)行保密。
三、sudo用法
sudo可以跳過root用戶登錄而去執(zhí)行一些特定命令。比如:sudo passwd user1。當(dāng)然前提是當(dāng)前登錄用戶擁有執(zhí)行該命令的權(quán)限??梢酝ㄟ^配置/etc/sudoers 文件來實(shí)現(xiàn)。
可以通過vi/vim命令修改文件。最好的做法是通過visudo來修改。這個(gè)命令可以編輯保存的同時(shí)檢查語法的正確性。這樣可以避免由于誤操作造成文件無法使用sudo命令。
文件內(nèi)容(部分):
root? ? ALL=(ALL)? ? ? ?ALL
user1? ?ALL=(ALL)? ? ? ?ALL??
#新增上一行的內(nèi)容,并修改用戶名為user1? 這條命令的含義user1用戶可以執(zhí)行任何的sudo命令。執(zhí)行的同時(shí)需要輸入user1用戶的密碼。
user1? ? ALL=(ALL)? ? ?NOPASSWD:ALL?
#和上一句命令功能相同,不同之處是不需要用戶密碼。這樣其實(shí)和root權(quán)限一樣了。不建議這樣做。
user1? ? ALL=(ALL)? ? ? NOPASSWD:/sbin/shutdown,/usr/bin/reboot
# 對于常用的命令可以指定要執(zhí)行的命令不需要輸入密碼。這條命令是user1用戶可以執(zhí)行重啟服務(wù)的功能。不需要輸入密碼。
本質(zhì)上理解sudo不是真的切換了用戶。而是通過當(dāng)前登錄用戶的身份和權(quán)限去執(zhí)行Linux命令。
總結(jié)
以上是生活随笔為你收集整理的Linux中su和sudo的用法整理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: keil写文字怎么会乱码_主持稿怎么写才
- 下一篇: 2018-1-24(转)游戏策划案也有“