2011-04-07 109 views
0

現在我已經購買了Ubuntu雲服務器。今天早上我安裝了Webmin,現在我有一個問題。是否可以創建只能使用一個目錄,SVN,FTP,PHP,Python,MySQL,Apache的用戶?例如,用戶Kevin只能使用/ var/www/kevin /?哦,在創建目錄後,SVN checkout應該填充目錄。管理所有數據庫的最佳方式是什麼?很多人都會使用數據庫,那麼我該如何保證它的安全?每次執行查詢時是否可以備份數據庫?Ubuntu網絡服務器權限

很多很多的感謝,

問候, 凱文

回答

3

這可能更適合於https://askubuntu.com/

也就是說,備份數據庫的每個查詢聽起來像恐怖的性能,可能是一個配方後,沒有真正的好處。配置或修改您的應用程序以將審覈日誌發送到另一臺機器可能會更加平易近人。

您可以配置標準Unix permissions以允許kevin只在/var/www/kevin中寫入。限制哪些程序kevin可以運行可能需要更多的工具,如AppArmor,SElinux, TOMOYOSMACK。這些mandatory access control工具中的任何一個都可以防止用戶執行不受信任的程序,或者在標準的Unix權限之上提供額外的安全層。

我已經在AppArmor工作了十多年了,它將成爲我爲這項工作首先選擇的工具,但其他工具非常出色,可能更適合您的環境。 (AppArmor可能已經預裝了,請查看aa-status(8)輸出查看:)

但是首先確保你的Unix權限是正確的 - 他們可能是老派,但他們很棒。

更新

但我怎麼能作出這樣的時候「凱文」的招牌到SSH,他會自動進入目錄/var/www/kevin/(而不能去/var/www/或目錄下)?

你可以給凱文的~/.bash_profile~/.profile文件中添加cd /var/www/kevin命令。這可能比有用的更煩人。 (我不建議設置凱文的家目錄(/etc/passwd),以/var/www/kevin,因爲這將存儲~/.bash_history~/.ssh/*信息/var/www/kevin/.bash_history/var/www/kevin/.ssh/,可能暴露了太多的凱文的私人信息。)

爲了讓凱文進入/var/www/kevin/凱文將需要能夠進入/var/www - 但他並不一定需要看到的/var/www內容:

root:root 755 /var 
root:root 751 /var/www 
kevin:kevin 755 /var/www/kevin 
other:www 750 /var/www/other 
priv:www 750 /var/www/private 

如果你的網站服務器的一組或補充組www運行,這將是AB le遍歷並讀取所有這些目錄。凱文不能。 (假設kevin是而不是在組或補充組www。)凱文可以cd /var/www,如果凱文猜測/var/www/other/var/www/private,他可以確定他們存在,但他不能實際進入目錄或列出他們的內容。

+0

謝謝:),是的,apparmor工程:D(沒有(8))。 – 2011-04-07 10:20:40

+0

但是我怎麼能這樣做,當'凱文'登錄到SSH,他會自動去直接'var/www/kevin /'(並且不能去/ var/www /或下面的目錄)? – 2011-04-07 10:55:51