实验环境:CentOS Linux release 7.3.1611 (Core)
内核版本:Linux version 3.10.0-514.el7.x86_64
1.查看系统自带的vsftpd软件包版本
# yum list vsftpd Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.cn99.com Installed Packages vsftpd.x86_64 3.0.2-21.el7 @base
2.开始安装
# yum install -y vsftpd Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.njupt.edu.cn Resolving Dependencies –> Running transaction check —> Package vsftpd.x86_64 0:3.0.2-21.el7 will be installed –> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: vsftpd x86_64 3.0.2-21.el7 base 169 k Transaction Summary ================================================================================ Install 1 Package Total download size: 169 k Installed size: 348 k Downloading packages: vsftpd-3.0.2-21.el7.x86_64.rpm | 169 kB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Warning: RPMDB altered outside of yum. Installing : vsftpd-3.0.2-21.el7.x86_64 1/1 Verifying : vsftpd-3.0.2-21.el7.x86_64 1/1 Installed: vsftpd.x86_64 0:3.0.2-21.el7 Complete!
安装成功!
3.查看vsftpd配置文件目录
# ll /etc/vsftpd/ /etc/vsftpd/vsftpd.conf //主配置文件,核心配置文件 /etc/vsftpd/ftpusers //黑名单,这个里面的用户不允许访问FTP服务器 /etc/vsftpd/user_list //白名单,允许访问FTP服务器的用户列表 /etc/vsftpd/vsftpd_conf_migrate.sh //vsftpd操作的一些变量和设置脚本
4.重命名原有vsftpd.conf配置文件
# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
5.新建vsftpd.conf 并插入下面参数保存并退出
# vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO //拒绝匿名用户 local_enable=YES //接受本地用户 write_enable=YES //可以上传(全局控制) local_umask=022 //本地用户上传文件的umask dirmessage_enable=YES //用户进入一个目次后,是否给出静态提示。默认YES,默认即可 xferlog_enable=YES //表明将记录的上传下载情况写在xferlog_file所指定的文件中 connect_from_port_20=YES //FTP PORT主动模式进行数据传输时使用20端口(ftp-data)。YES使用,NO不使用。 xferlog_std_format=YES //是否采用标准格式记录日志 chroot_local_user=YES //所有的用户均不能切换到其他目录。 chroot_list_enable=YES //所有的用户均不能切换到其他目录 chroot_list_file=/etc/vsftpd/chroot_list //凡是加入vsftpd.chroot_list中的用户都不受限止,即;可以浏览其主目录的上级目录. listen=NO listen_ipv6=YES pam_service_name=vsftpd //虚拟用户使用PAM认证方式。 userlist_enable=YES //是否启用vsftpd.user_list文件。 tcp_wrappers=YES //设置vsftpd是否与tcp wrapper相结合来进行主机的访问控制 allow_writeable_chroot=YES //解决500 OOPS错误
注意:请去掉“//”和“后面的文字”否则启动ftp服务器可能会失败。
6.创建文件chroot_list文件
# touch /etc/vsftpd/chroot_list //默认留空
7.启动ftp服务
# systemctl enable vsftpd.service //设置开机自启动 # systemctl start vsftpd.service //启动ftp服务 # ss -antup | grep ftp //查看ftp服务端口 tcp LISTEN 0 32 :::21 :::* users:((“vsftpd”,pid=6354,fd=3))
显示21端口表示已经启动成功
8.新建ftp用户,其中/home/renwole是我自己的ftp目录,可以根据需要进行相应更改
# useradd -g ftp -d /home/renwole -s /sbin/nologin renwole -g //用户组 指定用户所属的附加组 -d //目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。 -s /sbin/nologin //指定用户只能用于ftp登录,拒绝登录系统
9.设置ebadu用户密码为“renwoletest123”
# passwd renwole
输入两次相同密码回车设置成功
10.设置防火墙,否则无法连接ftp服务器,当然你也可以关闭防火墙。
# firewall-cmd –permanent –zone=public –add-service=ftp //将ftp服务器服务加入防火墙 # firewall-cmd –reload //不重启firewall防火墙使其重载生效
11.设置SELinux:
# getsebool -a | grep ftp # setsebool -P ftpd_full_access on
vsftpd服务器已经配置安装完成,现在可以测试连接ftp服务器了。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/116840.html