1
BSD 討論版 / 關於 Apache , Virtual Host 權限的問題
« 於: 2006-08-04 03:42 »
這應該是老問題了,不過我沒找到比較簡單的方式來解決...
在Google 或是問人,大部分都是說用 jail 去作,不過 jail 太麻煩又不好除錯
我想要達到的效果是,指定 Apache 以某個使用者的權限去執行...
為什麼呢?我舉例說明比較快:
假設 Apache 是以 www:www 的權限執行
假設有個使用者叫做user,家目錄在 /home/user , DocumentRoot 在 /home/user/public_html , 其 owner 為 user ,權限為 755
當我在 index.php 裡這麼寫
在瀏覽器執行後得到 Warning: mkdir() [function.mkdir]: Permission denied in /home/user/public_html/index.php on line 2
考慮到安全問題,如果能用user的權限去執行 Apache,我就能把檔案目錄的權限都設成 700 !
所以我就想,如果能在 virtual host 中指定 Apache 執行的權限,應該就可以解決這個問題!
底下是我的思路(考慮條件):
1. 因為要設 Quota ,所以必須是實體用戶?(無論可不可以登入)
2. FTP 上傳時 Owner 是該使用者帳號?(跟 #1 有相依關係)
3. Apache 執行的權限是 www ,是否要更改?
簡單的說,我想達到某些虛擬主機商做出來的效果!
在Google 或是問人,大部分都是說用 jail 去作,不過 jail 太麻煩又不好除錯
我想要達到的效果是,指定 Apache 以某個使用者的權限去執行...
為什麼呢?我舉例說明比較快:
假設 Apache 是以 www:www 的權限執行
假設有個使用者叫做user,家目錄在 /home/user , DocumentRoot 在 /home/user/public_html , 其 owner 為 user ,權限為 755
當我在 index.php 裡這麼寫
代碼: [選擇]
<?php
mkdir('test');
?>
在瀏覽器執行後得到 Warning: mkdir() [function.mkdir]: Permission denied in /home/user/public_html/index.php on line 2
考慮到安全問題,如果能用user的權限去執行 Apache,我就能把檔案目錄的權限都設成 700 !
所以我就想,如果能在 virtual host 中指定 Apache 執行的權限,應該就可以解決這個問題!
底下是我的思路(考慮條件):
1. 因為要設 Quota ,所以必須是實體用戶?(無論可不可以登入)
2. FTP 上傳時 Owner 是該使用者帳號?(跟 #1 有相依關係)
3. Apache 執行的權限是 www ,是否要更改?
簡單的說,我想達到某些虛擬主機商做出來的效果!