1.安裝
apt-get install vsftpd
2 . 修改配置檔案
vi /etc/vsftpd.conf
2.1 配置匿名使用者
anonymous_enable=YES (YES表示允許匿名登陸)
anon_root=/home/ftp (匿名使用者登陸後的根目錄,預設為/srv/ftp)
anon_mkdir_write_enable=YES (YES表示允許匿名使用者建立檔案夾)
anon_other_write_enable=YES (YES表示允許匿名使用者修改或删除檔案夾)
anon_upload_enable=YES (YES表示允許匿名使用者上傳檔案)
anon_mask=022 (表示上傳下載下傳檔案的掩碼,此處權限為777-022=755)
以上配置為對匿名使用者權限的配置,安裝vsftpd之後,linux系統會自動添加一個名為ftp的使用者
cat /etc/passwd (可檢視是否添加)
以上述anon_root = /home/ftp為例,要保證/home/ftp目錄為其他使用者可讀,然後在該路徑下建立一個檔案夾
sudo mkdir /home/ftp/public
sudo chown ftp /home/ftp/public
注意一定要把public檔案夾的所有者改成ftp,這樣匿名使用者對應在系統中的ftp使用者才可以在public檔案夾中操作。
ftp localhost
輸入使用者名: anonymous或ftp
密碼: 直接Enter
此時匿名使用者登陸到了/home/ftp中
cd public
必須切換到public下才能進行相應權限的操作。
2.2 配置虛拟使用者
guest_enable=YES (允許虛拟使用者登陸)
guest_username=vsftpd (虛拟使用者對應的系統使用者名)
allow_writeable_chroot=YES (禁止虛拟使用者通路根目錄外的其他目錄)
pam_service_name=vsftpd (pam認證)
user_config_dir=/etc/vsftpd/vuser_dir (虛拟使用者外部配置權限檔案的路徑)
第1步:建立虛拟使用者資料庫檔案:
vi /etc/vsftpd/user.txt
user.txt中單數行放使用者名,雙數行放密碼。
然後生成資料庫:
sudo apt-get install db5.3-util
db5.3_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/login.db
第2步:建立FTP根目錄及虛拟使用者映射的系統使用者:
sudo su mkdir -p /var/ftp
sudo useradd -d /var/ftp -s /usr/sbin/nologin vsftpd
sudo chmod 755 /var/ftp
第3步:建立支援虛拟使用者的PAM認證檔案。
vim /etc/pam.d/vsftpd
在首行加入以下配置
auth required pam_userdb.so db=/etc/vsftpd/login
account required pam_userdb.so db=/etc/vsftpd/login
第4步:為虛拟使用者設定不同的權限。
在/etc/vsftpd/vuser_dir下建立一個檔案,檔案名與虛拟使用者名一緻,在該檔案中即可配置虛拟使用者的權限。