簡體   English   中英

無法在Rails Resque Worker中運行sudo

[英]can not run sudo in a rails resque worker

我有一個resque worker,它將運行一些shell命令。

例如

ruby `sudo echo "XXX" >> xx.log`

但是當工人奔跑時,將引發以下錯誤

sudo: no tty present and no askpass program specified

我添加了“ whoami”調試代碼以查找哪個用戶運行此sudo命令,並在執行命令不需要密碼時將該用戶的組“ test”設置為“ test”。 我也在Shell控制台中運行相同的命令,它正常運行,不需要輸入密碼。

蘇多維蘇多

%test ALL=NOPASSWD:ALL

但是當工作人員運行sudo時,將顯示上述錯誤,要求輸入密碼。

誰能告訴我為什么? 謝謝。

我真的很猶豫將其作為“修復程序”提供,因為@AJcodez正確詢問, “為什么需要sudo?” 但是,您可以通過添加以下內容來解決tty要求:

Defaults requiretty
Defaults: %test !requiretty

/etc/sudoers文件,但是請使用visudo命令。 另外,這里的test是用戶還是組? 我還懷疑您的sudoers行格式錯誤。 語法為:

jane ALL=(LIST_OF_COMMANDS) NOPASSWD: ALL

您似乎已將其設置為對%test組可以運行的所有零個命令運行NOPASSWD設置。 否則我可能會誤解您在此處的粘貼。

暫無
暫無

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

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