簡體   English   中英

如何從腳本提供sudo密碼?

[英]How to supply sudo with password from script?

請注意:這是在本地計算機上運行的來賓VM(VBox),我不擔心安全性。

我正在編寫一個腳本,該腳本將作為myuser用戶在Linux(Ubuntu)VM上執行。 該腳本將在/etc/myapp下創建一個非常大的目錄樹。 當前,我必須手動執行所有操作,並且首先要在/etc下為myuser授予rwx遞歸權限,如下所示:

sudo chmod -R 777 /etc
[sudo] password for myuser:  <now I enter the password and hit ENTER>

我的問題:如何編寫一個為sudo命令提供密碼的bash腳本,以便我可以僅執行bash myscript.sh並為我進行必要的權限更改?

(重擊)
好的,如果您必須這樣做(請牢記安全警告):

$ sudo -S <<(回顯“ <您的密碼>”))<您的sudo命令>

您可以使用expectautoexpect 不過,這是一個壞主意。

切勿寫入系統密碼。 至少,不在所述系統上的文件上。 已知需要root用戶訪問權限的安裝腳本要少得多。 您正在使自己成為一個簡單的目標。

您要做的是通過/etc/sudoers/配置sudo ,以允許該用戶 完全執行該腳本而無需輸入密碼:

myuser ALL=(ALL) NOPASSWD : /path/to/script

注意:

  • 如果刪除/path/to/script部分, myuser將能夠在沒有密碼的情況下對sudo任何操作。

  • 如果將myuser更改為ALL ,則每個人都可以運行該腳本而無需輸入密碼。

如您所說,如果您完全不關心安全性...

運行visudo來編輯/etc/sudoers並進行驗證。 添加以下行:

ALL ALL=(ALL) NOPASSWD: ALL

這樣可以防止sudo要求任何用戶,任何命令輸入密碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM