我有一台包含 10 個使用者的伺服器電腦。作業系統:Ubuntu 12.04.3 LTS 64位
這些使用者都是開發者(主要是Web開發者:HTML+JS+PHP+MYSQL)
我允許他們透過 XRDP 和 VNC 遠端登入。
現在一切正常,但 /var/www 出現問題
目錄的合適權限是什麼,以便他們在共享某些程式碼時不會出現問題,儘管他們不是 root。他們都是簡單的使用者。
我需要知道是否有一種安全的方式讓他們共享原始程式碼,同時每個人都有自己的儲存庫。我歡迎任何想法。
答案1
您將所有這些用戶放在同一個群組中
usermod -g {group} {user}
這樣所有使用者都具有相同的權限。我們通常使用 apache 設定的群組(www-data 或 apache)。
對群組中檔案或目錄的權限的任何變更都將變更所有權限。
一般來說,/var/www/ 中的檔案最少可以有 664 個。還有目錄 775。
答案2
另一種方法(由於賞金:))
如果您不想將所有使用者保留在同一個 webroot 中,您可以這樣做。您可以為 /var/www/ 目錄建立不同的目錄作為 webroot 別名。假設您有兩個使用者 u1 和 u2。
如果沒有的話我想你已經安裝了 apac2sudo apt-get install apache2
我將使目錄 /home/u1/web 和 /home/u2/web 成為用戶 u1 和 u2 的 webroot。
sudo chmod 775 home/u1/web
sudo chmod 775 home/u2/web
sudo gedit /etc/apache2/sites-available/default
為使用者 u1 建立別名(將以下內容新增至檔案):
Alias /u1 /home/u1/web
<Directory /u1>
Options All
AllowOverride All
order allow,deny
allow from all
</Directory>
為使用者 u2 建立別名(將下列內容新增至檔案):
Alias /u2 /home/u2/web
<Directory /u1>
Options All
AllowOverride All
order allow,deny
allow from all
</Directory>
現在,每個使用者都可以透過將 Web 瀏覽器指向使用者 u1 的 localhost/u1 和使用者 u2 的 localhost/u2 來存取其 Web 根目錄
答案3
你可以這樣做:
- 為每個使用者在 /var/www 中建立一個目錄
將每個目錄的擁有者變更為關聯的用戶,將群組變更為 www-data 群組
sudo chown user1:www-data /var/www/user1
sudo chown user2:www-data /var/www/user2
將每個目錄的權限改為750,這樣任何使用者都不能弄亂其他使用者的文件,但保留使用www-data群組的權限在瀏覽器中開啟其他人的html檔案的能力。