一直觉得对这个概念很是懂,但此次仍是犯了眼高手低的毛病。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修复中。配置