2010-08-25 54 views
1

我們正在設計一個運行在現有Linux系統上的Web服務器應用程序。我們正在使用lighttpd服務器,現在已經遇到了一些安全問題。 由於各種原因,我們選擇了Lua來開發我們的應用程序。 由於我們有使用ssh登錄到本機的現有用戶,我們希望通過Web界面登錄的用戶使用相同的訪問級別,用戶名和密碼。 優選地,執行動作的用戶(他們正在訪問系統上的各種配置文件)應具有對由OS處理的文件的訪問權限,而不是Web服務器。 這裏有什麼建議?lighttpd和系統之間的訪問權限同步

在此先感謝!

回答

1

你的問題是,你不能改變用戶下運行服務器軟件時,因此,你不能只要你留在的情況下使用操作系統級別的安全性來控制文件訪問權限的人的用戶登錄服務器的進程。

你可以把所有的用戶和Web服務器在一組,並使用umask 002以確保該組的所有成員都可以訪問所有文件。在您的LUA代碼中,您需要檢查當前用戶是文件的所有者,否則拒絕操作。

如果一個新的文件,必須創建,那麼你需要一個SUID程序,可以將文件的所有者從「網絡服務器」,以「用戶」的轉變。

或者,你可以創建一個SUID程序,可以改變它的UID和接受來自Web服務器的命令。當用戶登錄時,您使用用戶的UID啓動程序,然後告訴它要訪問哪些文件。