首頁 運維 linux運維 Linux中sudo不用輸入密碼的方法是什麼

Linux中sudo不用輸入密碼的方法是什麼

May 12, 2023 pm 11:46 PM
linux sudo

解決辦法一:
在啟動時進入安全模式,這時是用root登入的,執行:

chmod 740 /etc/sudoers
登入後複製

然後開啟/etc/sudoers這個文件,把最後一行:

%admin ALL=(ALL)
改为
%%admin ALL=(ALL) NOPASSWD: NOPASSWD: ALL
登入後複製

儲存退出。
執行:

chmod 0440 /etc/sudoers
reboot your ubuntu.OK!
登入後複製

解決方法二:
Ubuntu預設不能直接用root帳號登入,必須從第一個建立的使用者(既安裝時建立的那個使用者)透過su或sudo來取得root權限。在Ubuntu中對系統進行操作很多時候都要使用這個指令,由此可見對於新來說很有必要來認識這個指令。這或許不太方便,但這樣增加了安全性,避免使用者因為誤操作而損壞系統。

sudo
格式:sudo [其它指令]

sudo既為Super user do的意思。 sudo在這個過程中只起一個呼叫root使用者的作用,本次操作完成後,其作用就消失,如果要使用呼叫root權限操作的指令就必須再次使用sudo。有些過程中系統會要求使用者輸入密碼,此密碼就是安裝系統時你輸入你那個密碼,注意:這個密碼在輸入你時候不會像在Windows裡輸密碼那樣輸入一位密碼就有一個*號,這樣的目的就是為了讓密碼更安全,因為不知道你密碼有幾位這樣無疑地為密碼破解者增加了難度。 :)

範例:

我們要更改目前目錄下upload.tar.gz的權限就要用到sudo。如果還要對目前目錄下的另外一個檔案eva.tar.gz更改權限就要再次用到sudo。

ownlinux@server:/var/www$ sudo chmod 777 upload.tar.gz
[sudo] password for ownlinux: (此时输入你的密码)
ownlinux@server:/var/www$ sudo chmod 777 eva.tar.gz
[sudo] password for ownlinux:
登入後複製

補充:
通常我們不會以root身份登錄,但是當我們執行某些命令(command)時需要用到root權限,我們通常都是用"sudo command"來執行command 。由於使用Ubuntu,所以常常都用sudo,而使用sudo時,又得輸入密碼,所以我就尋找sudo不輸入密碼的方法。前陣子google了一下,很容容易找到一個方法,但是對其​​不夠理解,今天,仔細研究了一下/etc/sudoers這個文件,對於如何實現自己的需求就非常清楚了。網路上說看到的資料往往寫得不清楚,所以我根據自己的需求好好整理了一下。
假設我的使用者名稱為jay(屬於 admin群組),使sudo不用密碼的方法如下。
執行指令:sudo visudo 或 sudo vi /etc/sudoers,如果vi來編輯,則儲存時記得用"wq!"強制儲存,否則會提示只讀不能儲存的。
就會編輯/etc/sudoers這個檔案。預設情況我們會看到有"�min ALL=(ALL) ALL"一句話,就是允許admin群組在所有主機上執行所有指令,當然是需要passwd的。
1. 如果想把admin群組的使用者都sudo不用密碼那麼可以將這一行換成:"�min ALL=(ALL) NOPASSWD: NOPASSWD ALL"即可。
2. 如果僅僅想讓jay用戶sudo不需密碼,則可添加"jay ALL = NOPASSWD: ALL"這樣一行。
3. 如果讓jay用戶sudo不用密碼即可執行某幾個命令,可這樣寫"jay ALL = NOPASSWD: /usr/bin/abc.sh, /usr/sbin/adduser"
4.欲知其?更多配置方式,請運行"man sudoers"看幫助文檔吧。
注意:我自己的一個配置沒生效,找原因還找了陣子,寫到這裡吧。
我加上"jay ALL = NOPASSWD: ALL"這樣一行;但是,jay執行sudo時還是需要輸入密碼,這是為什麼?
原來是,我這一行在"�min ALL=(ALL) ALL"群組原則之前前,後面的群組配置覆蓋了前面的配置,而jay屬於admin組,所以需要密碼。
這時,只需要將�min行用#註解掉。 OK!然後立刻就生效?,可能執行sudo時系統都會去讀取/etc/sudoers的,所以立即就生效了。
另外,附帶公司某伺服器的一個/etc/sudoers配置:

Defaults env_reset
Defaults syslog=auth
Defaults log_year,logfile=/var/log/sudo.log
User_Alias ABC = abc
Cmnd_Alias DEFAULT=/bin/*,/sbin/ldconfig,/sbin/ifconfig,/usr/sbin/useradd,/usr/sbin/userdel,/bin/rpm,/usr/bin/yum,/sbin/service,/sbin/chkconfig,sudoedit /etc/rc.local,sudoedit /etc/hosts,sudoedit /etc/ld.so.conf,/bin/mount,sudoedit /etc/exports,/usr/bin/passwd [!-]*,!/usr/bin/passwd root,/bin/su - [!-]*,!/bin/su - root,!/bin/su root,/bin/bash,/usr/sbin/dmidecode,/usr/sbin/lsof,/usr/bin/du,/usr/bin/python,/usr/sbin/xm,sudoedit /etc/profile,sudoedit /etc/bashrc,/usr/bin/make,sudoedit /etc/security/limits.conf,/etc/init.d/*,/usr/bin/ruby
ABC ALL=(ALL)NOPASSWD:DEFAULT
登入後複製

透過修改/etc/sudoers

sudo vi /etc/sudoers
把/etc/sudoers里最后一行
%admin ALL=(ALL)
?为
%admin ALL=(ALL) NOPASSWD: NOPASSWD: ALL
登入後複製

然後強制儲存wq 就OK
上面說的並不準確,要注意以下幾點。
編輯/etc/sudoers檔案使用“超級使用者終端”,而不能使用普通的終端。 「超級用戶終端」啟動透過右鍵「編輯選單」指令新增。
編輯完之後使用wq!而不是wq退出

以上是Linux中sudo不用輸入密碼的方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

vscode需要什麼電腦配置 vscode需要什麼電腦配置 Apr 15, 2025 pm 09:48 PM

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

vscode 無法安裝擴展 vscode 無法安裝擴展 Apr 15, 2025 pm 07:18 PM

VS Code擴展安裝失敗的原因可能包括:網絡不穩定、權限不足、系統兼容性問題、VS Code版本過舊、殺毒軟件或防火牆干擾。通過檢查網絡連接、權限、日誌文件、更新VS Code、禁用安全軟件以及重啟VS Code或計算機,可以逐步排查和解決問題。

VSCode怎麼用 VSCode怎麼用 Apr 15, 2025 pm 11:21 PM

Visual Studio Code (VSCode) 是一款跨平台、開源且免費的代碼編輯器,由微軟開發。它以輕量、可擴展性和對眾多編程語言的支持而著稱。要安裝 VSCode,請訪問官方網站下載並運行安裝程序。使用 VSCode 時,可以創建新項目、編輯代碼、調試代碼、導航項目、擴展 VSCode 和管理設置。 VSCode 適用於 Windows、macOS 和 Linux,支持多種編程語言,並通過 Marketplace 提供各種擴展。它的優勢包括輕量、可擴展性、廣泛的語言支持、豐富的功能和版

vscode 可以用於 mac 嗎 vscode 可以用於 mac 嗎 Apr 15, 2025 pm 07:36 PM

VS Code 可以在 Mac 上使用。它具有強大的擴展功能、Git 集成、終端和調試器,同時還提供了豐富的設置選項。但是,對於特別大型項目或專業性較強的開發,VS Code 可能會有性能或功能限制。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

See all articles