在Ubuntu下,使用vsftpd(Very Secure FTP Daemon)可以輕松地限制訪問權限。以下是一些常見的方法來限制訪問權限:
首先,確保你已經安裝了vsftpd:
sudo apt-get update
sudo apt-get install vsftpd
編輯vsftpd的配置文件 /etc/vsftpd.conf
:
sudo nano /etc/vsftpd.conf
如果你想限制某些用戶訪問FTP服務器,可以在配置文件中添加或修改以下行:
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
然后,創建或編輯用戶列表文件 /etc/vsftpd.userlist
,添加允許訪問的用戶:
sudo nano /etc/vsftpd.userlist
在文件中添加用戶名,每行一個。
如果你想限制特定IP地址訪問FTP服務器,可以在配置文件中添加或修改以下行:
tcp_wrappers=YES
然后,編輯 /etc/hosts.deny
和 /etc/hosts.allow
文件:
sudo nano /etc/hosts.deny
添加以下行來拒絕所有IP訪問:
vsftpd: ALL
sudo nano /etc/hosts.allow
添加允許訪問的IP地址:
vsftpd: 192.168.1.1
vsftpd: 192.168.1.2
如果你想使用虛擬用戶而不是系統用戶,可以按照以下步驟操作:
sudo apt-get install db-util
sudo apt-get install vsftpd
創建一個虛擬用戶數據庫文件:
sudo touch /etc/vsftpd/virtual_users.txt
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
創建一個虛擬用戶映射文件:
sudo touch /etc/pam.d/vsftpd-virtual
編輯該文件,添加以下內容:
auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users
編輯 /etc/vsftpd.conf
文件,添加或修改以下行:
guest_enable=YES
guest_username=ftpuser
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/$USER
chroot_local_user=YES
allow_writeable_chroot=YES
創建一個系統用戶 ftpuser
并設置密碼:
sudo adduser --system --group --no-create-home ftpuser
sudo passwd ftpuser
然后,為每個虛擬用戶創建一個主目錄:
sudo mkdir /home/virtualuser1
sudo chown ftpuser:ftpuser /home/virtualuser1
最后,重啟vsftpd服務以應用更改:
sudo systemctl restart vsftpd
通過以上步驟,你可以根據需要限制vsftpd的訪問權限。