在CentOS上限制vsftpd訪問可以通過以下幾種方法實現:
編輯vsftpd配置文件:
打開/etc/vsftpd/vsftpd.conf文件。
sudo vi /etc/vsftpd/vsftpd.conf
添加IP地址限制: 在配置文件中添加或修改以下行,以限制特定IP地址訪問FTP服務器。
tcp_wrappers=YES
然后編輯/etc/hosts.deny和/etc/hosts.allow文件來控制訪問。
在/etc/hosts.deny中添加:
vsftpd: ALL
在/etc/hosts.allow中添加允許訪問的IP地址:
vsftpd: 192.168.1.100 192.168.1.101
創建一個專用FTP用戶:
sudo adduser ftpuser
sudo passwd ftpuser
配置vsftpd使用該用戶:
編輯/etc/vsftpd/vsftpd.conf文件,確保以下配置項存在并正確設置:
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
創建用戶列表文件:
創建并編輯/etc/vsftpd/user_list文件,添加允許訪問的用戶。
sudo vi /etc/vsftpd/user_list
添加用戶名:
ftpuser
啟用防火墻(如果尚未啟用):
sudo systemctl start firewalld
sudo systemctl enable firewalld
添加FTP服務規則:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --zone=public --add-port=21/tcp
sudo firewall-cmd --reload
如果SELinux處于 enforcing 模式,可能需要調整SELinux策略。
檢查SELinux狀態:
sestatus
臨時設置SELinux為permissive模式(僅用于測試):
sudo setenforce 0
調整SELinux策略:
如果需要永久更改,可以編輯/etc/selinux/config文件,將SELINUX=enforcing改為SELINUX=permissive。
一些FTP服務器軟件提供了更高級的訪問控制功能,例如ProFTPD。如果需要更復雜的訪問控制,可以考慮使用這些軟件。
通過以上方法,您可以在CentOS上有效地限制vsftpd的訪問。