对我拥有的文件“权限被拒绝”?


13

我的用户bob无法访问他(理论上拥有)的文件。我正在运行Fedora Core8。它可能比显示起来更容易显示:

> ls -al .
total 32
drwxrwxr-x 7 bob bob 4096 May 18 14:33 .
drwxrwxr-x 4 bob bob 4096 May 12 15:44 ..
drwxr-xr-x 2 bob bob 4096 June 1 14:22 log

> cd ./log
-bash: cd: log/: Permission denied

> ls -al ./log
ls: cannot access log/..: Permission denied
ls: cannot access log/the.log: Permission denied
ls: cannot access log/.: Permission denied
total 0
d????????? ? ? ? ?            ? .
d????????? ? ? ? ?            ? ..
-????????? ? ? ? ?            ? the.log

> sudo ls -al ./log
drw-rw-r-- 3 bob bob      4096 Jun  2 04:11 .
drwxrwxr-x 7 bob bob      4096 May 18 14:33 ..
-rw-rw-r-- 1 bob bob         0 Jun  1 04:12 the.log

ls -al非常奇怪的脱颖而出。它将列出我没有权限查看的文件,但没有显示权限?

问题是,这将导致什么?我该怎么办?

Answers:


17
> sudo ls -al ./log
...
drw-rw-r-- 3 bob bob      4096 Jun  2 04:11 .

Bob似乎没有对./log的执行权限,因此他不能cd这样做。

> ls -al .
...
drwxr-xr-x 2 bob bob 4096 June 1 14:22 log

表明他做到了。但是看起来它们指向的不是同一个文件(不同的权限,不同的modtime)。

尝试sudo ls -ail ./logls -ail看看是否该inode是一样的。


10

事情比文件系统损坏或selinux更简单。如您所见,您在日志目录中缺少x(可执行)权限。实际上,对于目录x来说,意味着某人可以更改到该目录。只需执行“ chmod + x日志”来修复该烫发,您应该可以访问它。


>实际上对于目录x表示某人可以更改到该目录。我忘记了; 谢谢。
yPhil

6

当文件系统损坏或驱动器出现故障时,我已经看到类似的情况。解决方法通常是对文件系统运行fsck并让其更正发现的错误。


大约一个小时前,我在其中一台文件服务器上执行了此操作。+1
Thomas Denton

2

另外,检查SE / Linux设置。有时,文件的权限与是否可以访问它没有任何关系。


1
我同意@David Mackintosh。如果启用了SELinux,并且文件/目录是由其他人创建的,然后将所有权更改为bob,则很可能会发生这种情况。因为文件的上下文仍由原始作者保留,并且在上下文也更改为Bob用户之前,将无法访问。
维吉

2

这些文件可能设置了不可变的或仅附加了扩展属性。我以前曾发生过这种情况,甚至连root也无法删除该文件。

扩展属性可以是通过“ lsattr”的视图,也可以通过“ chattr”进行更改


1
> sudo ls -al ./log
drw-rw-r-- 3鲍勃鲍勃4096 Jun 2 04:11。

我不知道为什么,但是“。” ./log/中的条目没有执行权限。该权限应与./log的权限相同。

您可以尝试使用chmod 755 ./log和chmod 755 ./log/吗?看看是否有一个命令可以解决访问问题?

除此之外,我建议您在文件系统上运行fsck,因为它看起来好像不同步。


1

您是否尝试过将目录的所有权更改为其他人,然后再返回给Bob?不过Zoredache的建议更好-fsck!


2
这种类型的问题始终最终是目录权限。
doublejosh

1

IMO的答案更为简洁。

您的目录没有cd所需的可执行权限。

固定:

$ sudo chmod +x ./log

递归地:

$ sudo chmod -R +x ./log

+ x正在添加可执行文件属性。您始终可以通过执行-x来删除该属性

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.