在Debian上設置FTP服務器并限制訪問,可以通過多種方法實現。以下是一些常見的方法:
安裝vsftpd
sudo apt update
sudo apt install vsftpd
配置vsftpd
編輯/etc/vsftpd.conf
文件:
sudo nano /etc/vsftpd.conf
進行以下配置:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
創建用戶列表文件
創建并編輯/etc/vsftpd.userlist
文件,添加允許訪問的用戶:
sudo nano /etc/vsftpd.userlist
添加用戶名,每行一個。
重啟vsftpd服務
sudo systemctl restart vsftpd
配置防火墻
使用ufw
(Uncomplicated Firewall)限制FTP端口(默認21)的訪問:
sudo ufw allow 21/tcp
sudo ufw enable
安裝Pure-FTPd
sudo apt update
sudo apt install pure-ftpd-common pure-ftpd
配置Pure-FTPd
編輯/etc/pure-ftpd/auth/openldap.conf
文件(如果你使用LDAP認證)或/etc/pure-ftpd/pure-ftpd.conf
文件:
sudo nano /etc/pure-ftpd/pure-ftpd.conf
進行以下配置:
ListenPort 21
ChrootEveryone yes
NoAnonymous yes
重啟Pure-FTPd服務
sudo systemctl restart pure-ftpd
配置防火墻
使用ufw
限制FTP端口(默認21)的訪問:
sudo ufw allow 21/tcp
sudo ufw enable
如果你只想允許特定IP地址訪問FTP服務器,可以在vsftpd.conf
或pure-ftpd.conf
中添加IP限制。
編輯/etc/vsftpd.conf
文件:
sudo nano /etc/vsftpd.conf
添加以下行:
tcp_wrappers=YES
然后編輯/etc/hosts.allow
和/etc/hosts.deny
文件:
sudo nano /etc/hosts.allow
添加允許的IP地址:
vsftpd: 192.168.1.1
vsftpd: 192.168.1.2
sudo nano /etc/hosts.deny
添加拒絕所有其他IP地址:
vsftpd: ALL
編輯/etc/pure-ftpd/pure-ftpd.conf
文件:
sudo nano /etc/pure-ftpd/pure-ftpd.conf
添加以下行:
RequireValidShell off
然后編輯/etc/pure-ftpd/auth/openldap.conf
文件(如果你使用LDAP認證)或/etc/pure-ftpd/pure-ftpd.conf
文件:
sudo nano /etc/pure-ftpd/pure-ftpd.conf
添加IP限制:
<Limit LOGIN>
Order deny,allow
Deny from all
Allow from 192.168.1.1
Allow from 192.168.1.2
</Limit>
重啟服務:
sudo systemctl restart pure-ftpd
通過以上方法,你可以有效地限制Debian FTP服務器的訪問。選擇適合你需求的方法進行配置即可。