2011-07-17 46 views
0

我有一個bash腳本,需要在不同的用戶下運行幾個命令。我想用su做這個,但是我無法自動su沒有密碼提示。無法將密碼傳遞給su

運行該腳本的用戶將是centos中的apache(所以不是真正的用戶帳戶,例如,您不能執行su apache並在apache用戶下獲得提示)。

因此,我不認爲像預期的東西會起作用。我也不能使用SSH密鑰從apache到另一個本地主機帳戶。

有沒有辦法實現我的目標?硬編碼密碼對我來說是可以接受的。

+0

您可以使用sudo並允許apache以不同密碼執行某些文件 – knittl

回答

3

這是什麼sudo是建立 - 細粒度許可提高。如果將腳本添加爲apache可以使用sudo運行(在/etc/sudoers文件中),則可以提供有限的權限升級。

然而,要求從apache用戶調用任何東西是非常非常危險的。它可以迅速將有限的本地漏洞利用轉化爲漏洞利用。在消毒輸入時要非常小心,瞭解shell如何擴展變量等。