【问题标题】:Can't write to a folder of a group I belong无法写入我所属组的文件夹
【发布时间】:2014-05-31 05:26:36
【问题描述】:

我正在尝试将文件写入我已将所有者设置为“dev”并将组也设置为“dev”的文件夹。 “dev”是每个开发人员所属的组的名称。见下文:

martyn@localhost:/var/www$ ls -l
total 3
drwxrwxr-x  3 dev dev 4096 May 30 22:16 project1
drwxrwxr-x  2 dev dev 4096 May 30 20:24 project2
drwxrwxr-x  2 dev dev 4096 May 30 19:51 project3

我可以在/etc/group 中确认“martyn”是“dev”的成员:

dev:x:1002:martyn

所以我想我可以像这样将文件写入 /var/www/project1:

cd /var/www/project1
vi test

.. 但是当我尝试在 Vim 中保存时,它给了我一个错误 - E212: Can't open file for writing。我究竟做错了什么?如何允许“dev”的任何成员访问该组的文件和文件夹?

【问题讨论】:

  • 试试cd /var/www/project1; ls -la | head; touch fred

标签: linux permissions


【解决方案1】:
dev:x:1002:martyn

看起来martin 不是dev 组的一部分:/etc/passwd 的格式为:

user-name:x:user-number:group-number:comment section:/home-directory:default-shell

所以尝试恢复 devmartin,看看效果是否更好。
键入后,请参阅“Howto: Linux Add User To Group”和 grep 以获取 martyn

useradd -G dev martyn

【讨论】:

  • 有没有比编辑/etc/passwd更简单的方法?
  • @user3265472 是的,您可以使用useradd 命令:查看我编辑的答案及其链接。
  • 感谢您的链接,我之前曾提到过该页面。我收到sudo useradd -G dev martyn - useradd: user 'martyn' already exists 的以下错误
  • @user3265472 然后usermod -a -G dev martyn,并与groups martyin 核对
  • 嗨,谢谢。这次我没有收到任何错误,但似乎和以前一样。顺便说一句,我上面的 sn-p 是 /etc/groups 而不是 /etc/passwd。当我执行vi /var/www/project1/test 时,它仍然不允许我写入组“dev”的文件夹。 groups martyn 给我martyn : martyn dev
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多