ubuntu -- 不输入密码执行sudo
作為ubuntu等桌面系統,默認登錄的帳號是沒有root權限的,為了提升權限來執行任務,我們一般用到 "sudo+命令" 來執行,但是不難發現我們 一般都要輸入密碼。那么有沒有什么方法可以讓我們執行sudo的時候不輸入密碼呢?當然有咯。那就是對sudoers文件進行修改。
?
如何修改sudoers?
1、修改sudoers文件內容
方法一:直接修改/etc/sudoers。但是不推薦,因為那樣子修改很容易造成權限錯亂。(手動修改的時候,由于對于格式并不是那么了解,所以編輯的時候很容易出錯,因此不建議用直接修改法。)
方法二:用visudo來進行編輯。
進入終端,執行sudo visudo
在#User privilege specification下面會羅列一些規則,
我們現在需要做的是對我們的用戶進行一些操作。假如我們的用戶名為ltech
在文件的最后一行添加:
ltech ? ?ALL=(ALL) NOPASSWD: ALL
2、將你需要的登陸用戶添加到擁有超級權限的組中(如:這里是將用戶 ltech 添加到 admin 組,前提是admin組必須存在)
在終端執行?sudo usermod -aG admin ltech
3、重啟服務器
?
?
/etc/sudoers文件內容部分介紹
%admin ALL=(ALL) ALL
這行只是讓admin組的用戶擁有可以像任何帳號一樣執行命令的能力,但是還是需要有密碼的,因此我們需要把我們的 ltech 用戶加入到admin組中, 所以有sudo usermod -aG admin ltech,然后是對其進行NOPASSWD定義,這行一定要在%admin ALL=(ALL) ALL 這行后面,才會生效。
當然了這樣是存在安全隱患的。所以,我們可以把最后的
ltech ALL=(ALL) NOPASSWD: ALL 更改為對于命令進行限制,例如對于關機命令取消密碼
ltech ALL=(ALL) NOPASSWD: /sbin/shutdown, /sbin/reboot
?
sudo說明
一般用戶管理系統的方式是利用su切換為超級用戶。但是使用su的缺點之一在于必須要先告知超級用戶的密碼。
sudo使一般用戶不需要知道超級用戶的密碼即可獲得權限。首先超級用戶將一般用戶登記在特殊的文件中(通常是/etc/sudoers),即完成 對該用戶的授權(此時該用戶稱為“sudoer”);在一般用戶需要取得特殊權限時,其可在命令前加上“sudo”,此時sudo將會詢問該用戶自己的密 碼(以確認終端機前的是該用戶本人),回答后系統即會將該命令的進程以超級用戶的權限運行。之后的一段時間內(默認為5分鐘,可在/etc /sudoers自定義),使用sudo不需要再次輸入密碼。
?
visudo說明:
我們可以通過visudo命令來編輯/etc/sudoers文件,visudo是一個腳本文件,也可以通過編輯工具來對/etc/sudoers進行修改
總結
以上是生活随笔為你收集整理的ubuntu -- 不输入密码执行sudo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot学习笔记-实践建言
- 下一篇: objective-c 多媒体 音乐播放