提前關閉selinux 和firewalld防火牆
匿名用戶的ftp搭建
1.安裝vsftp軟件包
yum -y install vsftpd*
2.啓動vsftpd服務器
systemctl restart vsftpd
systemctl enable vsftpd
3.檢查服務是否正常啓動
ps -ef|grep vsftp && netstat -tunlp|grep 21
4.linux服務上的原始目錄
/var/ftp/pub/
只能查看,下載無法創建文件和目錄
如果需要在windos 端上傳文件則需要修改配置文件
vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES #允許匿名用戶上傳
anon_mkdir_write_enable=YES #允許匿名用戶創建目錄
重啓vsftp服務
$ systemctl restart vsftpd
$ chown -R ftp /var/ftp/pub/ #賦予子目錄ftp用戶所屬組的權限
vsftp配置虛擬用戶
1.創建vsftpd使用的系統用戶,主目錄爲/home/vsftpd,禁止ssh登錄。創建之後所有虛擬用戶使用這個系統用戶訪問文件。
useradd vsftpd -d /home/vsftpd -s /bin/false
2.創建虛擬用戶主目錄,比如虛擬用戶叫ftp1。後續文件都放在這個目錄下
mkdir -p /home/vsftpd/ftp1
3.指定虛擬用戶的信息
vim /etc/vsftpd/loginusers.conf
ftp1
123456
#這樣就創建了ftp1這個虛擬用戶,密碼爲123456
4.根據這個文件創建數據庫文件,並啓動數據庫文件
db_load -T -t hash -f /etc/vsftpd/loginusers.conf /etc/vsftpd/loginusers.db
chmod 600 /etc/vsftpd/loginusers.db
$ vim /etc/pam.d/vsftpd
# 註釋掉原來所有內容後,增加下面的內容
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers
5.增加虛擬用戶的數據庫的配置文件
mkdir /etc/vsftpd/userconf #創建虛擬用戶配置文件目錄
vim /etc/vsftpd/userconf/ftp1 #這裏的文件名必須與前面指定的虛擬用戶名一致
local_root=/home/vsftpd/ftp1/
write_enable=YES
6.修改主配置文件
vim /etc/vsftpd/vsftpd.conf #存在的修改,不存在的增加
anonymous_enable=NO #禁止匿名用戶登錄
chroot_local_user=YES #禁止用戶訪問除主目錄以外的目錄
ascii_upload_enable=YES #設定支持ASCII模式的上傳和下載功能
ascii_download_enable=YES #設定支持ASCII模式的上傳和下載功能
guest_enable=YES #啓動虛擬用戶
guest_username=vsftpd ## 虛擬用戶使用的系統用戶名
user_config_dir=/etc/vsftpd/userconf #虛擬用戶使用的配置文件目錄
allow_writeable_chroot=YES #最新版的vsftpd爲了安全必須用戶主目錄(也就是/home/vsftpd/ftp1)沒有寫權限,才能登錄
7.重啓vsftp服務
systemctl restart vsftpd
可能會遇到的問題
1.ftp訪問速度特別慢,加載半天
將 /etc/resolv.conf裏面全部註釋掉
2.瀏覽器正常訪問,以目錄文件夾的形式無法訪問
Windows 無法訪問此文件夾,請確保輸入的文件夾是正確的,並且你有權訪問此文件夾。
https://jingyan.baidu.com/article/b7001fe1829deb0e7282ddb7.html
https://jingyan.baidu.com/article/b7001fe1829deb0e7282ddb7.html