安裝、查看linux
#yum install vsftpd -ywindows
#rpm -ql vsftpdcentos
# vsftpd -v安全
#whereis vsftpd服務器
啓動
app
#systemctl start vsftpdssh
#systemctl enable vsftpd
tcp
防火牆和selinux的配置ide
selinux:測試
#sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
#setenforce 0
firewalld防火牆:
#firewall-cmd --permanent --zone=public --add-service=ftp
#firewall-cmd --permanent --zone=public --add-ports=21/tcp
#firewall-cmd --permanent --zone=public --add-ports=22/tcp
#firewall-cmd --reload
建立用於ftp遠程登陸的本地用戶和組
建立用戶ftpcest和ftpcest1,二者同屬於一個組ftpcest
#useradd ftpcest -s /sbin/nologin -d /databak #這樣就建立了用戶和組ftpcest
#useradd ftpcest1 -s /sbin/nologin -d /databak -g ftpcest
#passwd ftpcest
#passwd ftpcest1
修改配置文件
# cat /etc/vsftpd/vsftpd.conf | grep -v "#"
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=002
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/data/var/logs/vsftpd/xferlog
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=NO
tcp_wrappers=YES
listen_port=2201
log_ftp_protocol=YES
dual_log_enable=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=2202
pasv_max_port=2202
reverse_lookup_enable=NO
添加容許ftp遠程訪問的用戶
# pwd
/etc/vsftpd
#ls
ftpusers vsftpd_conf_migrate.sh user_list vsftpd.conf
# cat user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
ftpcest
ftpcest1
重啓vsftpd服務
#systemctl restart vsftpd
centos7:本機測試
# ftp localhost 2201
Trying ::1...
ftp: connect to address ::1拒絕鏈接
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 3.0.2)
Name (localhost:root): ftpcest
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127,0,0,1,8,154).
150 Here comes the directory listing.
drwxrwxr-x 2 1003 1003 6 Apr 11 10:00 新文件夾
226 Directory send OK.
ftp>
windows客戶端測試
好比:ftp://192.168.0.10:2201
參考網站和錯誤收集
vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()錯誤的解決方法
從2.3.5以後,vsftpd加強了安全檢查,若是用戶被限定在了其主目錄下,則該用戶的主目錄不能再具備寫權限了!若是檢查發現還有寫權限,就會報該錯誤。
要修復這個錯誤,能夠用命令chmod a-w /home/user去除用戶主目錄的寫權限,注意把目錄替換成你本身的。或者你能夠在vsftpd的配置文件中增長下列兩項中的一項:
allow_writeable_chroot=YES
其餘狀況:
與ssh同樣,vsftp的配置文件默認開啓了DNS反向解析,這可能會形成用戶在登錄到FTP服務器的時候奇慢無比,只要在配置文件中禁用DNS反向解析便可解決文件。
編輯/etc/vsftpd/vsftpd.conf
添加
reverse_lookup_enable=NO
重啓vsftpd服務後問題解決,如今登錄看看