CentOS7上搭建vsftpd

  1. 查看虚机上是否安装vsftpd命令:rpm -qa | grep vsftpd,确认没有安装,开始安装

  2. 安装vsftpd:yum -y install vsftpd
    在这里插入图片描述
    安装成功后查看下是否安装成功:systemctl status vsftpd,此时vsftpd的服务状态为dead
    在这里插入图片描述
    安装成功后可以在/etc下查看到vsftp的配置文件
    可以添加开机自启命令:systemctl enable vsftpd

  3. 配置vsftpd

anonymous_enable=NO   >>是否允许匿名用户访问,YES支持,NO禁用
local_enable=YES  >>是否允许本地用户访问,YES支持,NO禁止
write_enable=YES  >>是否允许本地用户修改ftp目录下文件,YES允许,NO禁止
local_umask=022  >>本地用户新增文件的权限,022: rxwr-xr-x(所有者全部权限,属组读写,其它人读写)

#anon_upload_enable=NO >>是否允许匿名用户上传文件,YES允许(须将全局的write_enable=YES),NO禁止

#anon_mkdir_write_enable=NO  >>是否允许匿名用户创建新目录,YES允许,NO禁止
dirmessage_enable=YES  >>允许为目录配置显示信息,显示每个目录下面的message_file文件的内容

xferlog_enable=YES   >>开启日志功能   
connect_from_port_20=YES  >>是否设定FTP服务器将启用FTP数据端口的连接请求,21为连接请求的端口

#chown_uploads=YES  >>是否允许改变上传文件的属主
#chown_username=whoever   >>想要改变的上传文件的属主,如果需要,则输入一个系统用户名

#xferlog_file=/var/log/xferlog  >>日志文件存放位置,默认该日志文件为/var/log/vsftpd.log
xferlog_std_format=YES  >>使用标准日志格式 
#idle_session_timeout=600   >>设置数据传输中断时间间隔
#data_connection_timeout=120    >>设置数据连接超时时间
#nopriv_user=ftpsecure    >>当服务器运行于最底层时使用的用户名
#async_abor_enable=NO    >> 是否识别异步ABOR请求,如果FTP client会下达“async ABOR”这个指令时,这个设定才需要启用,而一般此设定并不安全,所以通常将其取消

#ascii_upload_enable=YES    >>是否启用 ASCII 模式上传数据
#ascii_download_enable=YES  >>是否启用 ASCII 模式下载数据
#ftpd_banner=Welcome to blah FTP service.  >>login时显示欢迎信息.如果设置了banner_file则此设置无效

#deny_email_enable=YES   >>设置时必须提供一个档案/etc/vsftpd/banner_emails,内容为 email address。若是 使用匿名登入,则会要求输入 email address,若输入的 email address 在此档案内,则不允许进入

#banned_email_file=/etc/vsftpd/banned_emails  >>禁止使用匿名用户登陆时作为密码的电子邮件地址

#chroot_local_user=YES  >>是否允许用户离开设置的根目录
#chroot_list_enable=YES  >>如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录

#chroot_list_file=/etc/vsftpd/chroot_list  >>定义不能更改用户主目录的文件
#ls_recurse_enable=YES  >>是否能使用ls -R命令以防止浪费大量的服务器资源
listen=NO   >>启动独立模式,只接受IPV4的连接
listen_ipv6=YES  >>同时监听IPv4和IPv6端口

pam_service_name=vsftpd  >>定义PAM 所使用的名称,预设为vsftpd
userlist_enable=YES  >>限制了/etc/vsftpd/user_list文件里的用户不能访问
tcp_wrappers=YES  >>开启tcp_wrappers支持

  1. 设置FTP用户
    添加用户ftptest1及目录为/home/test: useradd -d /home/test ftptest1
    设置用户ftptest1密码:passwd ftptest1
    在这里插入图片描述

  2. 启动vsftpd:service vsftpd start
    在这里插入图片描述

  3. 查看vsftpd监听端口:netstat -ntlp
    在这里插入图片描述

  4. 确认防火墙,并关闭
    systemctl status firewalld

  5. 配置ssl
    ①检查vsftpd是否支持ssl模块:ldd $(which vsftpd) | grep ssl
    在这里插入图片描述
    ②给vsftpd生成ssl证书,在etc/pki/tls/certs下
    在这里插入图片描述
    ③将生成的证书复制到etc/vsftpd下
    在这里插入图片描述
    ④修改vsftpd.conf文件

ssl_enable=YES  >>启用SSL
allow_anon_ssl=YES  >>当ssl_enable=YES工作,允许匿名用户使用安全的ssl连接
force_anon_data_ssl=YES   >>当ssl_enable=YES工作,所有匿名登录将被强制使用安全的ssl连接
force_anon_logins_ssl=YES  >>当ssl_enable=YES工作,所有匿名登录将强制使用安全的ssl连接发送密码
force_local_data_ssl=YES    >>当ssl_enable=YES工作,所有本地用户登录被强制使用安全的ssl连接
force_local_logins_ssl=YES   >>当ssl_enable=YES工作,所有本地用户登录将强制使用安全的ssl连接发送密码
ssl_tlsv1=YES              >>当ssl_enable=YES工作,允许使用TLS V1协议连接,TLS V1连接是首选
rsa_cert_file=/etc/vsftpd/vsftpd.pem   >>指定用户SSL加密连接的RSA证书位置
  1. 重启vsftpd。

  2. 搭建过程中其他需要注意的
    ①确认21端口防火墙开放命令
    firewall-cmd --permanent --query-port=21/tcp
    firewall-cmd --permanent --add-port=21/tcp
    在这里插入图片描述
    ②Filezilla连接vsftpd
    报错1:
    Status: Insecure server, it does not support FTP over TLS.
    Command: USER root
    Response: 530 Permission denied.
    Error: Could not connect to server
    解决方案:vsftpd不支持TLS,需要配置SSL/TLS。

③ftpusers和user_list两个文件用途与关系

ftpusers不受任何配制项的影响,它总是有效,且是一个黑名单
user_list则是和vsftpd.conf中的userlist_enable和userlist_deny两个配置项紧密相关的,它可以有效,也可以无效,有效时它可以是一个黑名单,也可以是一个白名单

Case 1: userlist_enable=YES, userlist_deny=YES
user_list有效且是一个黑名单,在user_list中的用户不允许登录

Case 2: userlist_enable=YES, userlist_deny=NO
user_list有效且是一个白名单,在user_list中的用户才允许登录

Case 3: userlist_enable=NO,userlist_deny=NO
user_list无效

Case 4: userlist_enable=NO,userlist_deny=YES
user_list无效

注意:使用user_list白名单后,匿名用户将无法登入!除非显式在user_list中加入一行:anonymous

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值