我想在我所属的staff组拥有的目录中创建一个文件。为什么我不能这样做?
bmccann@bmccann-htpc:~$ ls -l /usr/local/lib/R/
total 4
drwxrwsr-x 2 root staff 4096 2010-07-31 16:21 site-library
bmccann@bmccann-htpc:~$ id -nG bmccann
bmccann adm dialout cdrom plugdev staff lpadmin admin sambashare
bmccann@bmccann-htpc:~$ touch /usr/local/lib/R/site-library/tmp
touch: cannot touch `/usr/local/lib/R/site-library/tmp': Permission denied
7条答案
按热度按时间cwtwac6a1#
您是否在更改组后注销并重新登录?请参阅:
Super User answer involving touch permissions failure
iswrvxsc2#
我遇到了同样的问题,请检查文件夹是否还有ACL规则!
如果在列出文件夹时可以看到+(加号),则表示该文件夹具有特殊的访问规则。例如:
查看权限:
因此,这意味着我的用户(user_in_apache_group)对该文件夹没有写权限。
解决方案是@techtonik所说的,为用户添加写权限:
再次检查权限:
希望能有所帮助。)
fgw7neuy3#
为什么Linux用户不能编辑他所属组中的文件?
我使用的是Ubuntu 12.04,也遇到了同样的问题,用户无法写入允许组访问的文件。例如:
现在重新启动终端以确保用户和组已生效。以el身份登录。
产生警告:
什么?我做的都对了为什么不管用?
答案:
完全重新启动计算机。停止终端不足以解决这些问题。
我认为apache 2也使用了www-data组,所以这个任务在某种程度上阻止了用户和组的正确执行。你不仅要注销,而且要停止并重新启动使用你的组的任何服务。如果重新启动没有得到它,你就有更大的问题了。
ppcbkaq54#
使用LinuxACL(访问控制列表)--它是权限系统的更细粒度的版本,
这将设置目录的活动权限和在中创建的任何内容的默认权限。
如果您刚刚将自己添加到
staff
组,则在不重新登录的情况下,此操作将无法工作,但您可以仅为自己设置当前会话的权限。uklbhaso5#
我遇到了一个问题,当用户无法访问
/foo/bar/baz
目录时,即使他有权限,因为他没有访问bar
目录的权限。e0bqpujr6#
也许你的硬盘已经满了。使用这个命令来检查“/dev/...”行。
nukf8bse7#
在将内容添加到该文件之前,请检查父目录是否具有权限