1.vim /etc/selinux/config
該配置文件爲SELINUX=disable
2.關閉防火牆setenforce 0
3.yum -y install vsftpd
4.cp /etc/vsftpd/vsftpd.conf{,.bak}
備份vsftpd主配置文件
5.vim /etc/vsftpd/vir_user
建立虛擬用戶
如:yuxin
4343
6.生成虛擬用戶數據庫
yum -y install libdb-utils
db_load -T -t hash -f /etc/vsftpd/vir_user /etc/vsftpd/vir_user.db
chmod 700 /etc/vsftpd/vir_user.dblinux
- 配置vsftpd pam驗證文件:
修前先備份文件
cp /etc/pam.d/vsftpd{,.bak}
8.將auth及account的全部配置行均註釋掉,添加以下兩行{所有註釋掉,字符串前加#}
vim /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vir_user
account required pam_userdb.so db=/etc/vsftpd/vir_user
9.增長一個系統用戶‘virftp’ ,全部虛擬用戶都會映射到此用戶後對文件系統進行讀寫操做:
mkdir /ftproot
useradd -d /ftproot -s /sbin/nologin virftp
chown -R virftp:virftp /ftproot
設置vsftpd主配置文件:
vim /etc/vsftpd/vsftpd.conf數據庫
#禁止匿名用戶登陸
anonymous_enable=NO
#容許本地用戶登陸
local_enable=YES
#啓用虛擬帳戶
guest_enable=YES
#把虛擬帳戶映射到系統帳戶virftp
guest_username=virftp
#使用虛擬用戶驗證(PAM驗證)
pam_service_name=vsftpd
#設置存放各虛擬用戶配置文件的目錄(此目錄下與虛擬用戶名相同的文件爲他的配置文件)
user_config_dir=/etc/vsftpd/vsftpd_viruser
#啓用chroot時,虛擬用戶根目錄容許寫入
allow_writeable_chroot=YES
[有相同的字符串改一下yes或no,沒有的添加]vim
- 配置虛擬用戶各自的配置文件:
建立‘虛擬用戶配置文件’的存放目錄
mkdir /etc/vsftpd/vsftpd_viruser/
11.建立和配置虛擬用戶各自的配置文件,文件名稱是‘虛擬用戶名’
vim /etc/vsftpd/vsftpd_viruser/user1
[所有複製粘貼過去]
#容許寫入
write_enable=YES
#容許瀏覽FTP目錄和下載
anon_world_readable_only=NO
#容許虛擬用戶上傳文件
anon_upload_enable=YES
#容許虛擬用戶建立目錄
anon_mkdir_write_enable=YES
#容許虛擬用戶執行其餘操做(如更名、刪除)
anon_other_write_enable=YES
#上傳文件的掩碼,如022時,上傳目錄權限爲755,文件權限爲644
anon_umask=022
#指定虛擬用戶的虛擬目錄(虛擬用戶登陸後的主目錄)
local_root=/ftproot/admin/
12.建立虛擬用戶的根目錄,要保證虛擬用戶映射的系統用戶,對這個根目錄有讀寫權限
mkdir -p /ftproot/admin/
chown -R virftp.virftp /ftproot/admin/
13.測試配置結果:
重啓vsftpd服務
systemctl restart vsftpd
systemctl enable vsftpd
14.關閉防火牆或者開啓‘21’端口號
systemctl stop firewalld 或者 firewall-cmd --add-port=21/tcp
15.利用‘FlashFXP’工具鏈接測試[端口21]
先在計算機上測試鏈接 ftp://192.168.xx
鏈接成功後會有一個文件,測試建立新的文件,建立不了作如下步驟[這時候的FlashFXP工具也鏈接失敗]
- vim /etc/vsftpd/vsftpd_viruser/yuxin
改這個文件,建立的虛擬用戶文件,內容爲11步的內容
17.setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on
18.重啓vsftpd
systemctl restart vsftpd
測試用工具鏈接虛擬用戶tcp
- cd /etc/vsftpd/ls查看目錄,編輯 vim ftpusers 裏面是用戶名,都用#註釋掉重啓systemctl restart vsftpd並查看如root用戶可否鏈接[不能鏈接就ok]