Linux

如何在 proftpd 上拒絕或拒絕某些使用者的 FTP 命令?

  • February 24, 2016

在 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 伺服器上的文件的使用者。是否可以?

與本文件相關(在範例部分中)我使用 LIMIT 命令來拒絕 FTP 命令。以下是添加到 proftpd.conf 中的:

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

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

使用者 3 可以使用 LIST 命令 ( ls) 但 proftpd 拒絕該命令並返回空結果,其他使用者(使用者 1 和使用者 2)可以使用此命令。

引用自:https://serverfault.com/questions/560683