我想使用SVN存儲庫(Unfuddle)的回調功能來在我的服務器上ping任何提交時的URL。我有一個PHP腳本接受消息並試圖調用一個shell腳本來執行'svn update'。設置SVN二進制文件的SUID/SGID位是否存在安全風險?
我面臨的問題是Apache在用戶'www-data'下運行,並且無法訪問本地存儲庫:'.svn/lock'權限被拒絕。我已閱讀了關於在shell腳本上設置SUID/SGID以及大多數* NIX OS根本不支持它的原因,因爲涉及到安全風險。
但是我可以在位於/ usr/bin/svn的SVN二進制文件中設置SUID/SGID位。這可以通過允許任何用戶在任何存儲庫上發出SVN命令來緩解這個問題;不是最理想的...
我的問題是什麼是最邏輯/理智/安全的方式來實現這種類型的設置,如果我確實離開svn二進制設置的位,這會造成一個重大的安全風險,我沒有意識到?
對不起,這個冗長的帖子;這是我的第一個問題,我想徹底。
感謝
如果可能的話,我寧願採用均勻驅動的解決方案。您使用'svn'組的想法跟在本文之後:svnbook.red-bean.com/en/1.0/ch06s05.html但是正如您所看到的,還有其他一些事情需要考慮,這使得它有點混亂。我需要進一步研究「命令鍵」選項。我猜,現在,如果爲svn二進制文件(而不是shell腳本)設置SGID,我的問題仍然存在,我應該知道這個問題有什麼明顯的安全問題。謝謝您的意見。 – coderich 2010-10-26 06:53:26