首页 > 其他 > 详细

CentOS 7.3 x64系统vsftpd的安装和配置

时间:2019-07-24 01:34:11      阅读:127      评论:0      收藏:0      [点我收藏+]
1. 安装vsftpd服务

1)安装前检查系统版本

[root@192168088101_vsftp_server vsftpd]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

2)vsftpd软件包的安装方式
a. 通过yum方式安装ftp服务
yum install vsftpd -y

b. 通过rpm方式安装
下载链接:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd
技术分享图片

3)安装成功后,检查安装的vsftpd的rpm包版本,然后命令启动vsftpd,查看vsftp服务是否正常;

[root@192168088101_vsftp_server vsftpd]# rpm -qa|grep ftp
vsftpd-3.0.2-25.el7.x86_64
[root@192168088101_vsftp_server vsftpd]# /bin/systemctl start vsftpd.service
[root@192168088101_vsftp_server vsftpd]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      55166/vsftpd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      7301/sshd
tcp        0      0 127.0.0.1:25             0.0.0.0:*               LISTEN      7460/master
tcp6       0      0 :::22                     :::*                    LISTEN      7301/sshd
tcp6       0      0 ::1:25                    :::*                    LISTEN      7460/master

注:
a. 本文以CentOS 7.3 x64系统进行实际操作演示
b. RPM软件包名称:vsftpd-3.0.2-25.el7.x86_64

2. 创建ftp用户,并设置ftp用户的密码

1)新增test用户,指定用户的家目录,并且禁止test用户登陆系统

[root@192168088101_vsftp_server vsftpd]# useradd -d /home/ftpuser -s /sbin/nologin test
[root@192168088101_vsftp_server vsftpd]# tail -n 1 /etc/passwd      //检查用户是否创建成功
test:x:1000:1000::/home/ftpuser:/sbin/nologin

说明:
a. -s /sbin/nologin 是让其不能登陆系统?
b. -d 是指定用户目录为/home/ftpuser,这里可以替换成任何你需要的目录
c. test是ftp用户名,在配置时把这个test换成你的ftp用户名
d. 用useradd建立的用户,如果后面不加–s /sbin/nologin参数,建立的用户为普通系统用户,有系统登陆centos服务器的权限;
e. 在useradd命令后面加上参数–s /sbin/nologin,为centos 服务器虚拟主机添加不可以登录系统的专用账号(虚拟账户)

2)给test用户设置一个密码

[root@192168088101_vsftp_server vsftpd]# passwd test
Changing password for user test.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

3. 编辑ftp的配置文件

[root@192168088101_vsftp_server pam.d]# grep -v ^# /etc/vsftpd/vsftpd.conf
#不允许匿名用户登陆
anonymous_enable=NO
#允许本地用户登录
local_enable=YES
#允许本地用户具有读写的权限
write_enable=YES
#本地用户新增档案的权限,设置为022时,用户上传文件权限为-rw-r--r--,例:文件默认权限=666-umask值 666-022=644,目录默认权限=777-umask 值 777-022=755
local_umask=022
#进入每个目录是显示欢迎信息,在每个目录下建立.message文件在里面写欢迎信息
dirmessage_enable=YES
#让系统自动维护上传和下载的日志文件,默认情况该日志文件为/var/log/vsftpd.log
xferlog_enable=YES
#启用FTP数据端口的连接请求,tp-data数据传输,21为连接控制端口
connect_from_port_20=YES
#日志文件位置
xferlog_file=/home/logs/xferlog
#使用标准的ftpd xferlog格式保存日志文件
xferlog_std_format=YES
#vsftp的默认设置是所有目录都可以被进入,极为不安全,因此要限制用户可以访问目录,限制用户只能访问自己的家目录
chroot_local_user=YES
chroot_list_enable=YES
allow_writeable_chroot=YES
chroot_list_file=/etc/vsftpd/chroot_list
#开启IPV4端口监听
listen=YES
#关闭IPV6端口监听
listen_ipv6=NO

#vsftpd将使用的PAM服务的名称
pam_service_name=vsftpd
#如果启用,并且vsftpd是使用tcp_wrappers支持编译的,则传入连接将通过tcp_wrappers访问控制提供
tcp_wrappers=YES

说明:

ftp测试的时候,最好先把防火墙和selinux关闭
[root@192168088101_vsftp_server vsftpd]# firewall-cmd --state
running
[root@192168088101_vsftp_server vsftpd]# /bin/systemctl stop firewalld.service
[root@192168088101_vsftp_server vsftpd]# firewall-cmd --state
not running
[root@192168088101_vsftp_server vsftpd]# getenforce
Enforcing
#永久关闭selinux
[root@192168088101_vsftp_server vsftpd]# vim /etc/sysconfig/selinux
SELINUX=enforcing   改为   SELINUX=disabled
#临时关闭selinux
[root@192168088101_vsftp_server vsftpd]# setenforce 0
[root@192168088101_vsftp_server vsftpd]# getenforce
Permissive

4. 配置防火墙规则,开通和关闭ftp服务

#查看防火墙运行状态
[root@192168088101_vsftp_server ftpuser]# firewall-cmd --state
running
#添加允许ftp服务通行的规则
[root@192168088101_vsftp_server ftpuser]# firewall-cmd --add-service=ftp --permanent
success
#修改防火墙规则后,需要重启ftp服务
[root@192168088101_vsftp_server ftpuser]# systemctl reload firewalld.service
#查看已添加的防火墙规则
[root@192168088101_vsftp_server ftpuser]# firewall-cmd --list-services
ssh dhcpv6-client ftp
[root@192168088101_vsftp_server ftpuser]# firewall-cmd --info-service=ftp
ftp
  ports: 21/tcp
  protocols:
  source-ports:
  modules: ftp
  destination:
#删除ftp服务的规则,删除规则后,ftp服务将不可访问
[root@192168088101_vsftp_server ftpuser]# firewall-cmd --remove-service=ftp --permanent

5. vsftpd.conf配置文件选项详解

官方链接:http://vsftpd.beasts.org/vsftpd_conf.html
中文链接:https://www.cnblogs.com/sopcce/p/10743359.html

CentOS 7.3 x64系统vsftpd的安装和配置

原文:https://blog.51cto.com/14463906/2422826

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!