Linux中su和sudo的用法整理
一、為什么會有su和sudo命令?
主要是因為在實際工作當(dāng)中需要在Linux不同用戶之間進行切換。root用戶權(quán)限最高很多時候需要root用戶才能執(zhí)行一些關(guān)鍵命令。所以需要臨時切換為root用戶。工作完成后,考慮到系統(tǒng)的安全性避免誤操作需要切換為普通用戶。su和sudo就是為了解決該問題內(nèi)置的Linux命令。
二、su的用法
su命令其實就是切換用戶的意思。
示例:
su? #默認切換到root用戶,執(zhí)行后然后輸入root密碼就可以切換root用戶,最后執(zhí)行exit命令可以切換到原先的用戶。
su-? #切換為root用戶并且可以把當(dāng)前目錄切換為root的用戶家目錄/root。
說明:在root用戶下可以切換為系統(tǒng)擁有的任意用戶并且不需要輸入其用戶密碼。
su命令的缺點:執(zhí)行該命令是需要知道root用戶的密碼的。因為root用戶擁有系統(tǒng)的最高權(quán)限,很容易誤操作造成系統(tǒng)掛掉。一般情況下root密碼盡可能要進行保密。
三、sudo用法
sudo可以跳過root用戶登錄而去執(zhí)行一些特定命令。比如:sudo passwd user1。當(dāng)然前提是當(dāng)前登錄用戶擁有執(zhí)行該命令的權(quán)限??梢酝ㄟ^配置/etc/sudoers 文件來實現(xiàn)。
可以通過vi/vim命令修改文件。最好的做法是通過visudo來修改。這個命令可以編輯保存的同時檢查語法的正確性。這樣可以避免由于誤操作造成文件無法使用sudo命令。
文件內(nèi)容(部分):
root? ? ALL=(ALL)? ? ? ?ALL
user1? ?ALL=(ALL)? ? ? ?ALL??
#新增上一行的內(nèi)容,并修改用戶名為user1? 這條命令的含義user1用戶可以執(zhí)行任何的sudo命令。執(zhí)行的同時需要輸入user1用戶的密碼。
user1? ? ALL=(ALL)? ? ?NOPASSWD:ALL?
#和上一句命令功能相同,不同之處是不需要用戶密碼。這樣其實和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写文字怎么会乱码_主持稿怎么写才
- 下一篇: Linux文件默认权限和umask笔记