我刚刚继承了一个由客户由另一位网站开发人员开发了一半的 WordPress 网站。
该网站托管在 Strato 专用服务器上,并安装了 Plesk。
我刚刚创建了一个 FTP 用户,以便获得该站点的 FTP 访问权限。到目前为止,一切都正常且正确。
问题是 FTP(FileZilla)中并非所有目录和文件都显示。我知道还有更多文件,因为我可以在 Web 文件管理器中看到它们。
我以为是权限问题,但是我检查了所有权限,都是正确的。
我已经尝试过 FileZilla 和 Cyberduck。
进行了其他测试:在 FileZilla 上,显示隐藏文件 -> 不起作用。
我看不到的文件的权限是:rwx rx rx (755)
启用原始 FTP 目录列表的日志记录后,我得到:
Estado: Recuperando el listado del directorio...
Comando: CWD /httpdocs/wp-content/plugins
Respuesta: 250 CWD command successful
Comando: PASV
Respuesta: 227 Entering Passive Mode (85,214,95,20,221,71).
Comando: MLSD
Respuesta: 150 Opening BINARY mode data connection for MLSD
Listado: modify=20150119092306;perm=flcdmpe;type=cdir;unique=803U38C0309;UNIX.group=503;UNIX.mode=0755;UNIX.owner=10000; .
Listado: modify=20141027105142;perm=adfrw;size=2255;type=file;unique=803U38C0320;UNIX.group=503;UNIX.mode=0644;UNIX.owner=10000; hello.php
Listado: modify=20141027105142;perm=adfrw;size=28;type=file;unique=803U38C0321;UNIX.group=503;UNIX.mode=0644;UNIX.owner=10000; index.php
Listado: modify=20150113112029;perm=adfrw;size=1458315;type=file;unique=803U38C0849;UNIX.group=503;UNIX.mode=0644;UNIX.owner=10000; revslider.zip
Listado: modify=20141211171023;perm=flcdmpe;type=pdir;unique=803U38C022A;UNIX.group=503;UNIX.mode=0755;UNIX.owner=10000; ..
Respuesta: 226 Transfer complete
Estado: Directorio listado correctamente
FTP 视图:
文件管理器视图:
刚刚通过 SSH 登录,使用与 FTP 完全相同的用户和密码,就可以看到所有档案!
在 FileZilla 中,欢迎消息后我收到:
Respuesta: 220 ProFTPD 1.3.5 Server (ProFTPD)
...
Comando: SYST
Respuesta: 215 UNIX Type: L8
更多测试:如果我通过 FTP 创建新的子文件夹,我可以看到它们。还有其他子文件夹和文件我知道它们一定在那里(沿着 WordPress 树文件夹),但我没有看到它们。不仅仅是在图像中显示的文件夹中。
您知道可能是什么问题吗?
答案1
ProFTPD 服务器有许多配置指令可以使服务器向客户端隐藏某些目录,其中包括:
HideFiles
– 启用基于正则表达式的文件隐藏HideUser
– 允许根据用户所有者隐藏文件HideNoAccess
– 阻止列出用户无权访问的目录条目DenyAll
– 拒绝所有客户端DenyUser
– 基于用户的拒绝规则DenyGroup
– 基于组的拒绝规则DenyClass
– 基于类别的拒绝规则Deny
– 访问控制指令
您应该能够在 ProFTPD 日志文件中看到服务器隐藏文件的原因。
检查/etc/proftpd/proftpd.conf
其他 ProFTPD 配置文件,包括虚拟主机特定的配置文件。还要查找.ftpaccess
目录和父目录中的任何文件。
答案2
如果使用 chroot jail ( DefaultRoot ~
),请检查 FTP 用户的主目录确实是其应有的目录。
如果该目录是挂载点或位于挂载点下,请检查正确的磁盘是否确实挂载在那里。