如何拒绝 proftpd 上某些用户的 FTP 命令?

如何拒绝 proftpd 上某些用户的 FTP 命令?

Centos 6.5 上有一个 FTP 服务器 (proftpd),Auth mech 是 AUTH_FILE,默认 ROOT 是 /var/ftp,所有用户都应将文件放入此目录,但只有 2 个用户可以获取或列出这些文件。是否可以拒绝少数用户执行某些 FTP 命令?

我的 proftpd 配置如下:

DefaultRoot                     /var/ftp/
AuthPAMConfig                   proftpd
AuthOrder                       mod_auth_file.c  mod_auth_unix.c
RequireValidShell  off
AuthUserFile  /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group
AuthPAM off
RequireValidShell off

/etc/proftpd/ftpd.group的内容是:

ftp_group:x:50:user1

用户文件 /etc/proftpd/ftpd.passwd 如下所示:

user1:$1$somesaltblablablablablablablabd:9999:9999::/var/ftp:/bin/false
user2:$1$somesaltblablablablablablablabd:9999:9999::/var/ftp:/bin/false
user3:$1$somesaltblablablablablablablabd:9999:9999::/var/ftp:/bin/false

User1 应该是无法获取或列出 FTP 服务器上的文件的用户。这可能吗?

答案1

与此相关文档(在示例部分)我使用 LIMIT 命令来拒绝 FTP 命令。以下内容添加到 proftpd.conf:

<Directory /var/ftp>
 <Limit ALL>
      DenyAll
 </Limit>

 <Limit DIRS READ>
    AllowUser user1
    AllowUser user2
    DenyAll
 </Limit>
</Directory>

User3 可以使用 LIST 命令(ls),但是 proftpd 拒绝该命令并返回空结果,而另一个用户(User1 和 User2)可以使用此命令。

相关内容