“权限被拒绝”到我自己的文件?

我的用户,鲍勃,不能访问他(理论上拥有)的文件。 我正在运行Fedora Core 8.它可能比显示更容易显示:

> 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非常奇特。 它会列出我没有权限查看的文件,但不显示我的权限?

所以问题是,这会导致什么? 我能做些什么来修复它?

 > 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是否相同。

事情比文件系统损坏或selinux更简单。 正如您所看到的,您缺less日志目录上的x(可执行)权限。 实际上对于目录来说,x意味着有人能够改变到那个目录。 只要做一个“chmod + x日志”修复烫发,你应该能够访问它。

当文件系统被损坏,或者如果你有一个失败的驱动器,我已经看到类似的东西。 修复通常是针对文件系统运行fsck ,并让它纠正find的错误。

另外,检查SE / Linux设置。 有时文件的权限与您是否可以访问权限无关。

这些文件可能具有不可变或仅附加扩展属性集。 我以前有过这种情况,甚至根目录都不能删除这个文件。

扩展属性可以是通过“lsattr”的视图,并通过“chattr”

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

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

你可以试试chmod 755 ./log和chmod 755 ./log/。 并查看是否有任何命令修复访问?

除此之外,我会build议你在文件系统上运行fsck,因为它看起来不同步。

你试过把目录的所有权改变给别人,然后回到鲍勃? Zoredache的build议是更好的 – 只是fsck它!

IMO更简洁的答案。

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

固定:

 $ sudo chmod +x ./log 

recursion:

 $ sudo chmod -R +x ./log 

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