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修复中。配置

相关文章
相关标签/搜索