Linux的文件/目錄訪問權限

一直覺得對這個概念很是懂,但此次仍是犯了眼高手低的毛病。git

配置服務器遇到了一個問題,對某個WEB目錄(例如"/bin"),有兩個用戶要對其進行讀寫操做:apache

  1. 首先apache服務器要對這個目錄進行讀寫,而apache進程的所屬帳號是www-data用戶,www-data分組。
  2. 其次要經過遠程登陸帳號,使用git更新這個目錄下的代碼,遠程登陸帳號是:server用戶,server分組。

  下面是所需步驟:服務器

  1. 因爲更新代碼要改動大部分文件,因此將/bing目錄的全部者改成server用戶:
    • sudo chown -R server:server /bing
  2. 因爲www-data只修改/bing/images子目錄,因此將/bing/images子目錄全部者修改成www-data:
    • sudo chown -R www-data:www-data /bing/images
  3. 而server有時也會修改/bing/images目錄,因此將server用戶添加到www-data分組中:
    • sudo adduser server www-data
  4. 將/bing/images目錄的權限改成分組可寫:
    • sudo chmod g+w /bing/images

如此一來,就比較好的解決了不一樣用戶訪問同一目錄的權限問題。server

寫完發現這些命令我都會敲,之前也敲過,用起來就不太順溜了,智商堪憂~進程

另外,在把server用戶添加到www-data分組時,用錯了命令:it

  sudo usermod -G www-data server登錄

結果清空了server用戶所屬的其餘分組,好比admin分組,形成sudo失效,正在重啓服務器進入Recovery Mode修復中。配置

相關文章
相關標籤/搜索