CentOS 7 用户/密码vsftpd搭建(主动模式/PORT)

一、CentOS 7 非匿名vsftpd搭建(主动模式/PORT)

  • 检查是否安装了vsftp,输入命令:
rpm -qa | grep vsftpd

返回版本信息则已安装,没有,则未安装。

  • 启动vsftpd

systemctl start vsftpd
  • 配置vsftpd.conf
vi /etc/vsftpd/vsftpd.conf

开启行数
:set number 

把第12行改成
anonymous_enable=NO
含义:不允许匿名访问

把第100行改成
chroot_local_user=YSE
含义:是否允许用户跳出用户目录(YES表示不允许,NO表示允许)

把第101行改成
chroot_list_enable=YES
含义:是否启用chroot_list_file文件,使文件中的用户可以跳出用户目录

把第103行改成
chroot_list_file=/etc/vsftpd/chroot_list
含义:chroot_list_file文件的路径,需要自行创建该文件

把第114行改成
listen=YES
含义:vsftpd运行在ipv4上

把第123行改成
#listen_vip6=YES

把第126行改成
userlist_enable=YES
含义:是否启用/etc/vsftpd路径下的user_list文件

在文件末尾添加
userlist_deny=NO
含义:当且仅当userlist_enable=YES时:userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP。
当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入;
当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入);另外需要特别提醒的是:使用白名单后,匿名用户将无法登入!除非显式在user_list中加入一行:anonymous


allow_writeable_chroot=YES
含义:允许不可跳出用户目录的用户“写”文件。


保存并退出
:wq
  • 创建chroot_list文件
vi /etc/vsftpd/chroot_list

:wq
  •  创建ftp用户
创建用户:
useradd -d /ftp_data -g ftp -s /sbin/nologin ftp_user1
含 义:  -d 指定用户登入时的启始目录  -g 指定用户所属的群组 
       -s 指定用户登入后所使用的shell(/sbin/nologin表示:无法登陆系统,但可以登陆ftp等一些服务)
        最后是用户名

设置密码:
passwd ftp_user1

按系统提示输入密码

       
  • 在user_list文件中添加创建的ftp用户
vi /etc/vsftpd/user_list

在文件末尾添加ftp用户名
ftp_user1

:wq

 开启21端口 

firewall-cmd --zone=public --permanent --add-port=21/tcp
  • 重启firewalld
systemctl restart firewalld
  • 重启vsftpd
systemctl restart vsftpd
  • 如果使用windows的资源管理器访问ftp服务器,则需要进行如下操作:

设置IE浏览器>>Internet选项>>高级>>将“使用被动FTP(用于防火墙和DSL调制解调器的兼容)”选项去掉>>确定即可

CentOS 7 用户/密码vsftpd搭建(主动模式/PORT)_第1张图片

 

  • 使用FileZilla这类ftp软件则需要把 ftp的传输模式改为主动。如:FileZilla软件

编辑->设置->连接->ftp,传输模式选择“主动”

 

CentOS 7 用户/密码vsftpd搭建(主动模式/PORT)_第2张图片

你可能感兴趣的:(vsftpd)