近幾天一個朋友叫我幫他弄弄FTP,今天下午終於搞定了 唉 初學者 不容易啊!
也許明日出發,看一程山長水遠,而歸來是一生的事。青春尚未散場,還有未來可以揮霍,現實很窮,理想很富裕
先安裝好vsftpd,這個我不說了。
創建虛擬與用戶數據庫
1.首先安裝Berkeley DB工具。很多人找不到db_load的問題就是木有安裝這個包:
sudo apt-get install db-util
2.建立虛擬用戶列表:
sudo vi /etc/vsftpd_vuserlist.txt(名字自己隨便取,記住了!)
建立用戶,基數行爲用戶名,偶數行爲密碼,比如:
xxh
123456
mike
000000
設置訪問數據庫的權限,如果任何人都可以訪問,那不是白設用戶名密碼了。
chmod 600 /etc/vsftpd_vuserlist.txt
3.接着生成虛擬用戶的數據庫認證DB文件:
db_load -T -t hash -f /etc/vsftpd_vuserlist.txt /etc/vsftpd_vuserlist.db
配置PAM文件
4.隨後,編輯認證文件/etc/pam.d/vsftpd,全部註釋掉原來的語句,再增加一下語句:
auth required pam_userdb.so db=/etc/vsftpd_vuserlist
account required pam_userdb.so db=/etc/vsftpd_vuserlist
爲虛擬用戶創建本地系統用戶
5.useradd -d /home/ftpuser ftpuser
useradd: user 'ftpuser' already exists
root@yue:/home/yue# mkdir /home/ftpuser
root@yue:/home/yue# chown ftpuser.ftpuser /home/ftpuser
root@yue:/home/yue# ls -ld /home/ftpuser/
drwxr-xr-x 2 ftpuser ftpuser 4096 10月 16 19:20 /home/ftpuser/
創建下列目錄:
root@yue:/home/yue# echo "Michaelyue's ftpuser server"> /home/ftpuser/msg
root@yue:/home/yue# chown ftpuser.ftpuser /home/ftpuser/msg
6.在/etc/vsftpd.conf中做配置修改:
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES
guest_username=virtual
listen=YES
listen_port=21
關閉匿名登錄(不能註釋,只能改成anonymous_enable=NO);
添加匿名用戶根目錄 local_root=/home/yue/ftp(可根據不同修改);
7.重啓FTP服務器。service vsftpd restart
8.測試。