[英]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命令>
您可以使用expect
或autoexpect
。 不過,這是一個壞主意。
切勿寫入系統密碼。 至少,不在所述系統上的文件上。 已知需要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.