一直覺得對這個概念很是懂,但此次仍是犯了眼高手低的毛病。git
配置服務器遇到了一個問題,對某個WEB目錄(例如"/bin"),有兩個用戶要對其進行讀寫操做:apache
- 首先apache服務器要對這個目錄進行讀寫,而apache進程的所屬帳號是www-data用戶,www-data分組。
- 其次要經過遠程登陸帳號,使用git更新這個目錄下的代碼,遠程登陸帳號是:server用戶,server分組。
下面是所需步驟:服務器
- 因爲更新代碼要改動大部分文件,因此將/bing目錄的全部者改成server用戶:
- sudo chown -R server:server /bing
- 因爲www-data只修改/bing/images子目錄,因此將/bing/images子目錄全部者修改成www-data:
- sudo chown -R www-data:www-data /bing/images
- 而server有時也會修改/bing/images目錄,因此將server用戶添加到www-data分組中:
- sudo adduser server www-data
- 將/bing/images目錄的權限改成分組可寫:
- sudo chmod g+w /bing/images
如此一來,就比較好的解決了不一樣用戶訪問同一目錄的權限問題。server
寫完發現這些命令我都會敲,之前也敲過,用起來就不太順溜了,智商堪憂~進程
另外,在把server用戶添加到www-data分組時,用錯了命令:it
sudo usermod -G www-data server登錄
結果清空了server用戶所屬的其餘分組,好比admin分組,形成sudo失效,正在重啓服務器進入Recovery Mode修復中。配置