Proftpd 在 FTPS 上的文件名问题

Proftpd 在 FTPS 上的文件名问题

我正在 Debian 11 服务器上设置 proftpd 服务。我希望能够使用本地用户(对于管理员)和 AD 用户连接到 FTP。我使用 realmd 将 Debian 服务器加入到我的 AD,并且它可以很好地进行 ssh 连接。 注意:域用户的主目录位于 NFS 共享上。

当我尝试使用 Filezilla 客户端和本地用户连接到 FTP 时,一切正常,文件名也正确。但我的问题是,当我在 FTPS 中连接到我的 AD 用户时,文件名如下:用户;UNIX.mode=0666;UNIX.owner=978115167;UNIX.ownername=myuser;文件.txt

我甚至无法与此文件交互(传输、重命名、删除),因为我收到 550 错误:

Status: Deleting "/users;UNIX.mode=0666;UNIX.owner=978115167;UNIX.ownername=myuser; file.txt"
13:01:44    Command:    DELE users;UNIX.mode=0666;UNIX.owner=978115167;UNIX.ownername=myuser; file.txt
13:01:44    Response:   550 users;UNIX.mode=0666;UNIX.owner=978115167;UNIX.ownername=myuser; file.txt: Aucun fichier ou dossier de ce type

WinSCP 也有同样的问题。但是使用 Proftpd 的 SFTP 模块没有问题(我猜是 ssh)。

这是我的配置文件:

Include /etc/proftpd/modules.conf
ServerName  "ftp.domain.com"
UseIPv6 off
User    proftpd
Group   nogroup

Port    21

TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log

#
ServerType  standalone
DeferWelcome    off

MultilineRFC2228    on
DefaultServer   on
ShowSymlinks    on

TimeoutNoTransfer   600
TimeoutStalled  600
TimeoutIdle 1200

DisplayLogin    welcome.msg
DisplayChdir    .message true
ListOptions     "-l"

DenyFilter  \*.*/
#

<Global>
    DefaultRoot ~
    Umask   000 000
    CreateHome  on 777
    PassivePorts    20000 20200
    AllowOverwrite  on

    ######
    #TLS#
    ######
    TLSEngine   off
    TLSRSACertificateFile   /etc/ssl/certs/domain.com.crt
    TLSRSACertificateKeyFile    /etc/ssl/private/domain.com.key
    TLSCACertificateFile    /etc/ssl/certs/ca.crt
    TLSOptions NoSessionReuseRequired
    TLSLog  /var/log/proftpd/tls.log
    TLSProtocol TLSv1.2
    TLSVerifyClient off
    TLSRequired on
</Global>

######
#FTPS#
######
<VirtualHost 0.0.0.0>
    Port    990
    TLSEngine   on
    TLSOptions  UseImplicitSSL
    ListOptions     "-l"
</VirtualHost>

######
#SFTP#
######
<IfModule mod_sftp.c>
    <VirtualHost 0.0.0.0>
        Port    2222
        SFTPEngine  on
        SFTPLog /var/log/proftpd/sftp.log
        SFTPCompression delayed
        SFTPAuthMethods password
        SFTPHostKey     /etc/proftpd/ssh_host_rsa_key
        SFTPHostKey     /etc/proftpd/ssh_host_ecdsa_key
        SFTPHostKey     /etc/proftpd/ssh_host_ed25519_key
    </VirtualHost>
</IfModule>

并且在modules.conf中,mod_tls和mod_sftp被激活。

我做了一些研究,但没有发现类似我的问题。在此之前,我尝试使用 mod_ldap 来记录我的 AD 用户,但我记得它没有起作用。

感谢您的帮助。

答案1

存在与组名带空格相关的错误。更多详细信息请参见此处:https://github.com/proftpd/proftpd/issues/1495 对于 Active Directory 而言,暂时解决问题的一种可能性是将有问题的用户的主要组从“域用户”更改为不包含空格的组。

相关内容