这是我第二次遇到这种情况。
我正在使用rails应用,我通过touch show.html.haml
创建了一个文件,我可以ls
查看该文件。
但是我正在使用WinSCP和SFTP进行升华,而且我都看不到这个文件!
WinSCP返回...
和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
答案 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
提供“其他”权限。