组成员即使具有写权限也无法写


13

登录的用户是对文件夹具有写权限的组的成员。但是,当该用户尝试写东西时,“权限被拒绝”。

下面的日志总结了问题:

subv:/www/tracer/ whoami
frank
subv:/www/tracer/
subv:/www/tracer/ ls -ltr 
total 4
drwxrwxr-x 2 root tracer 4096 Jan 20 12:25 convert.tracer.com
subv:/www/tracer/ groups frank
frank : frank tracer
subv:/www/tracer/ > convert.tracer.com/test
-bash: convert.tracer.com/test: Permission denied
subv:/www/tracer/

输出“ ls -bail /www/tracer/convert.tracer.com/”:

subv:~/ ls -bail /www/tracer/convert.tracer.com/
total 8
38010883 drwxrwxr-x 2 root tracer 4096 Jan 20 12:25 .
38010882 drwxr-xr-x 3 root root    4096 Jan 20 12:25 ..
subv:~/ 

4
父目录也需要权限。

2
没有test文件已经存在?如果可以的话,它有什么权限?
Nikhil Mulley 2012年

您是否激活了SELinux?您还可以执行“ ls -bail convert.tracer.no/”
吗?tmow 2012年

@hesse您的意思是,“ / www”和“ / www / tracer”的组所有者应该是示踪剂?
user11498 2012年

@Nikhil不,“ / www / tracer / convert.tracer.com /”中没有任何内容。它是一个空目录。
user11498 2012年

Answers:


14

登录时会重新读取组成员身份。groups似乎报告了您所在/etc/group的组,但未反映当前会话中组的成员身份。

使用命令id -Gn来显示您当前是活动成员的组。解决方案:重新登录以应用组更改。


在我的Ubuntu 18.04系统上,我实际上需要通过进行完全重新启动sudo reboot,不确定是否可以预期?
ComputerScientist

@ComputerScientist您必须重新登录才能应用组更改,或者newgrp $group_name如果允许的话,使用命令获取组成员身份。重新启动也可以,但是有点过激。
Lekensteyn

0

文件所在目录的权限又如何呢?

您是否可以使用vim编辑文件并保存?

尝试做类似的事情

chmod g+w .

更新

subv:~/ ls -bail /www/tracer/convert.tracer.com/
total 8
38010883 drwxrwxr-x 2 root tracer 4096 Jan 20 12:25 .
38010882 drwxr-xr-x 3 root root    4096 Jan 20 12:25 ..

创建跟踪器目录时可能出现问题,我在输出的第二行中看到root和4096之间有奇怪的空格。

我会以root身份尝试:

cd /www/tracer/
chown root:root .
chown root:tracer convert.tracer.com

如果还可以,请检查/ etc / group中的组名称,然后执行

cat -v /etc/group

检查root和tracer组中是否没有不可打印的字符

最后,如果仍然有问题,则可能是SELinux或文件系统问题。


1
用评论而不是答案问问题。他显示了目录的权限。如果shell无法写入,则vim也不会。该目录已具有g+w烫发。
Patrick

1
@Patrick是的,您是对的...但是,如果他不能通过目录(convert.tracer.com/test)在文件上写,我在想问题是目录...我在日志中看不到提供。
tmow 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.