客戶機:192.168.0.106 服務端:192.168.0.108(xiaohua108)
一、安裝vsftp軟件
1、服務端安裝直接使用yum安裝yum -y install vsftpd
2、客戶端安裝yum -y install lftp
二、創建虛擬賬號
1、創建用戶文本文件,添加用戶,格式爲一行用戶一行密碼
[root@xiaohua108 ~]# vim /etc/vsftpd/vsftpd_user.txt 此文件需要創建
xiaohua #用戶名 此用戶名需要與下文創建的虛擬帳號配置文件名一致
123456 #密碼
guanghui #不同虛擬賬戶下面配置文件中可以設置不同權限
123456
2、生成數據庫文件。Txt文件無法被系統調用故需要轉化
[root@xiaohua108 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_user.txt /etc/vsftpd/vsftpd_user.db
[root@xiaohua108 ~]# chmod 600 /etc/vsftpd/vsftpd_user.db #修改文件權限(安全起見)
3、配置PAM文件vim/etc/pam.d/vsftpd,註銷裏面的內容添加以下內容
#%PAM-1.0
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include password-auth
#account include password-auth
#session required pam_loginuid.so
#session include password-auth
添加以下內容
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_user
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_user
注:db=..後面vsftpd_user不帶.so
三、創建系統賬戶並指定家目錄(虛擬賬號需要調用系統賬號,故需要創建)
1、有幾個虛擬用戶對應幾個系統賬戶
[root@xiaohua108 ~]# useradd -d /var/ftp/vir1 huahua1
[root@xiaohua108 ~]# useradd -d /var/ftp/vir2 huahua2
[root@xiaohua108 ~]# chmod -R 500 /var/ftp/vir1 #設置權限不同虛擬用戶可以設置不同權限
[root@xiaohua108 ~]# chmod -R 700 /var/ftp/vir2 # 根據自己需求設置不同權限
四、爲每個虛擬賬號創建獨立的配置文件(配置文件需要分別與虛擬賬戶用戶名對應)
1、修改主配置文件
anonymous_enable=NO #禁止匿名用戶登錄
local_enable=YES # 允許本地賬號登陸
chroot_local_user=YES #將所有本地用戶限制在家目錄
pam_service_name=vsftpd #配置vsftpd 使用PAM模塊爲vsftpd
然後在pam_service_name=vsftpd下面追加以下內容
user_config_dir=/etc/vsftpd/virconfig #設置虛擬帳號的主目錄
max_clients=300 #設置ftp服務器最大接入數
max_per_ip=10 #設置每個ip最大連接數
2、在user_config_dir指定路徑下,建立與虛擬賬號同名的配置文件
[root@xiaohua108 ~]# mkdir /etc/vsftpd/virconfig
[root@xiaohua108 ~]# touch /etc/vsftpd/virconfig/xiaohua
[root@xiaohua108 ~]# touch /etc/vsftpd/virconfig/guanghui
注:兩個配置文件名一定要與虛擬賬戶名稱一致
3、配置虛擬賬號文件
xiaohua賬戶文件vim /etc/vsftpd/virconfig/xiaohua
guest_enable=yes:開啓虛擬帳號登錄
guest_username=huahua1:設置ftp 對應的系統帳號爲huahua1
anon_world_readable_only=no:允許匿名用戶瀏覽整個服務器的文件系統
anon_max_rate=50000:限定傳輸速率爲50KB/s
guanghui賬戶文件配置
guest_enable=yes:開啓虛擬帳號登錄
guest_username=huahua2:設置ftp 對應的系統帳號爲huahua2
anon_world_readable_only=no:允許匿名用戶瀏覽器整個服務器的文件系統
write_enable=yes:允許在文件系統寫入權限
anon_mkdir_write_enable=yes:允許創建文件夾
anon_upload_enable=yes:開啓匿名帳號的上傳功能
anon_max_rate=100000:限定傳輸速度爲100KB/s
注:配置文件中的字段可根據自己所需進行修改,不同的用戶可以設置不同的權限
五、測試
登陸客戶機進行測試
[root@xiaohua106 ~]# lftp 192.168.0.108 -u xiaohua,123456
lftp [email protected]:~> ls
-rw-r--r-- 1 0 0 0 Aug 07 04:57 xiaohua.txt
xiaohua對應系統vir1賬戶
[root@xiaohua106 ~]# lftp 192.168.0.108 -u guanghui,123456
lftp [email protected]:~> ls
-rw-r--r-- 1 0 0 0 Aug 07 04:57 guanghui.txt
guanghui對應vir2賬戶