Linux Mint:如何在不輸入密碼的情況下通過快捷鍵以 root 權限執行腳本?
我正在使用 Linux Mint 20,並希望使用快捷鍵執行具有 root 權限的腳本。我想這樣做而不必輸入我的root密碼。為此,我在 /etc/sudoers.d 中註冊了腳本。
/etc/sudoers.d/myscript
username ALL=(ALL) NOPASSWD: /home/xoric/scripts/myscript.sh
出於測試目的,此腳本僅創建兩個文件夾。第一個需要root權限,第二個不需要。
/home/xoric/scripts/myscript.sh
#!/bin/bash mkdir /etc/test1 #requires root mkdir /home/xoric/test2 #does not require root
接下來,我創建一個執行此腳本的自定義快捷鍵。我用它註冊了組合鍵 Ctrl+Alt+W。
第一次嘗試
這僅用於測試目的。按 Ctrl+Alt+W 時,將創建第二個文件夾。未創建第一個文件夾(需要 root 權限)。這是意料之中的,因為我在沒有 root 權限的情況下執行腳本。
第二次嘗試
當按下 Ctrl+Alt+W 時,沒有任何反應。沒有創建兩個文件夾,即不執行腳本。我的期望是腳本將以 root 權限執行並且沒有密碼提示(因為它是在 sudoers.d 中註冊的)。然而,這種情況並非如此。
第三次嘗試
當按下 Ctrl+Alt+W 時,會打開一個終端並要求我輸入我的 root 密碼。當我這樣做時,將執行腳本並創建兩個文件夾。這是我想要實現的,但無需輸入密碼。
對 Linux (Mint) 有更好了解的人是否知道為什麼第二次嘗試不起作用?Linux Mint 是否不允許具有 root 權限的快捷鍵?還是我在 sudoers.d 中註冊腳本時出錯了?提前謝謝了。
在朋友的幫助下,我終於找到了問題所在。我在 sudoers.d 中的條目已損壞。它實際上包含字元串“使用者名”而不是我的實際使用者名“xoric”——一個經典的複制和粘貼錯誤。
在我更正了條目後,第二次嘗試正常:按 Ctrl+Alt+W 現在創建兩個文件夾(腳本以 root 權限執行,沒有密碼提示)。