尝试以特定用户 ( adventho)访问某个目录中的任何文件时,我遇到了一个非常奇怪的权限问题。这几个月一直工作正常,我最近才注意到我收到了这些错误,并且我有一段时间没有更改系统中的任何内容。这是尝试以用户身份访问任何文件时发生的情况:
# su adventho
adventho@snail:/root
$ stat /home/adventho/public_html/hotelimg/187-1-1403380618.jpg
stat: cannot stat `/home/adventho/public_html/hotelimg/187-1-1403380618.jpg': Permission denied
Run Code Online (Sandbox Code Playgroud)
但是我可以以 root 身份访问它:
root@snail:~# stat /home/adventho/public_html/hotelimg/187-1-1403380618.jpg
File: `/home/adventho/public_html/hotelimg/187-1-1403380618.jpg'
Size: 528535 Blocks: 1040 IO Block: 4096 regular file
Device: 906h/2310d Inode: 918000 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1030/adventho) Gid: ( 1008/adventho)
Access: 2014-12-15 17:23:44.318374774 -0500
Modify: 2014-06-21 15:56:58.000000000 -0400
Change: 2014-10-23 16:44:57.502377342 -0400
Birth: -
Run Code Online (Sandbox Code Playgroud)
事实上,ls -la在目录上做一个会产生一堆“?” 在输出中,即使对于.和..:
d????????? ? ? ? ? ? .
d????????? ? …Run Code Online (Sandbox Code Playgroud)