为什么我的新文件没有显示?

时间:2013-08-20 17:22:22

标签: linux filesystems

这是我第二次遇到这种情况。

我正在使用rails应用,我通过touch show.html.haml创建了一个文件,我可以ls查看该文件。

但是我正在使用WinSCP和SFTP进行升华,而且我都看不到这个文件!

WinSCP返回...
enter image description here

和Sublime返回,
Downloading folder "/app/qa/www/htdocs/qa-dashboard/app/views/scripts/" ... 1 file to download

但它永远不会下载该文件。这里发生了什么?我还验证了它不是touch命令。我已经尝试了vi'文件并保存了它。同样的事情。

我还验证了主机是匹配的。

附加说明:

我使用elevated_user创建文件,使用用户ddavison编辑文件。 ddavison不在小组中。

文件模式是,

drwxrw-rw- ... .
drwxr-xrwx ... ..
-rw-rw-rw- ... show.html.haml

3 个答案:

答案 0 :(得分:2)

scripts目录上的权限似乎不正确:

drwxrw-rw- ... .
      ^--^-- missing eXecute bit

目录上的执行位允许列出目录的内容。由于scripts目录中的“group”和“other”perms不允许列出,因此您将收到该错误。大多数人都喜欢你作为目录的所有者登录到shell,因此你可以获得你想要的所有列表,但是你通过winscp以所有者身份登录,而不是所有者,因此他们无法列出目录内容。

答案 1 :(得分:2)

我预计问题在于包含目录的权限 -

drwxrw-rw- ... .

在检索文件之前,这两个程序都可能尝试使用chdir进入该目录。为此,目录必须具有为其登录的用户的x(执行)权限。根据你所说的,似乎设置'其他'需要+ x -

chmod o+x /app/qa/www/htdocs/qa-dashboard/app/views/scripts/

根据相关用户/群组的不同,您可能需要考虑删除写入权限 -

chmod o-w /app/qa/www/htdocs/qa-dashboard/app/views/scripts/

答案 2 :(得分:1)

对于目录,x权限位不执行,而是“列出此目录的内容”。由于目录的权限仅为“rwxrw-rw-”,因此只有所有者可以列出目录的内容。使用chmod o+x /app/qa/www/htdocs/qa-dashboard/app/views/scripts提供“其他”权限。