配置vsftpd匿名使用服务,个人用户使用以及虚拟用户使用配置细节!

文件传输协议:
FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20、21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命令与参数。FTP服务器普遍部署于内网中,具有容易搭建、方便管理的特点。而且有些FTP客户端工具还可以支持文件的多点下载以及断点续传技术,因此FTP服务得到了广大用户的青睐。FTP协议的传输拓扑如图所示。
在这里插入图片描述
FTP服务器是按照FTP协议在互联网上提供文件存储和访问服务的主机,FTP客户端则是向服务器发送连接请求,以建立数据传输链路的主机。FTP协议有下面两种工作模式。

主动模式:FTP服务器主动向客户端发起连接请求。
被动模式:FTP服务器等待客户端发起连接请求(FTP的默认工作模式)。

在学习防火墙服务配置时曾经讲过,防火墙一般是用于过滤从外网进入内网的流量,因此有些时候需要将FTP的工作模式设置为主动模式,才可以传输数据。

vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此外,还具有很高的安全性、传输速度,以及支持虚拟用户验证等其他FTP服务程序不具备的特点。

在配置妥当Yum软件仓库之后,就可以安装vsftpd服务程序了。

例1:安装vsftpd,因为iptables防火墙管理工具默认禁止了FTP传输协议的端口号,清空iptables防火墙的默认策略并永久生效,以避免被这些默认策略影响vsftpd服务的配置。

yum install -y httpd     #安装vsftpd服务程序
iptables -F              #清空iptables防火墙策略
service iptables save    #把当前已经被清理的防火墙策略状态保存下来
vsftpd服务程序的主配置文件:/etc/vsftpd/vsftpd.conf。

cd /etc/vsftpd                               #进入vsftpd主配置文件所在目录
mv vsftpd.conf vfstpd.conf_bak               #把vsftpd服务的主配置文件重命名为vsftpd.conf_bak
grep -v "#" vsftpd.conf_bak > vsftpd.conf    #在grep命令后面添加-v参数,过滤并反选出没有包含井号(#)的参数行(即过滤掉所有的注释信息),然后将过滤后的参数行通过输出重定向符写回原始的主配置文件中
cat vsftpd.conf                              #查看删除所有注释信息后的vsftpd主配置文件
anonymous_enable=YES                         #是否允许匿名用户访问
local_enable=YES                             #是否允许本地用户登录FTP
write_enable=YES                             #是否允许用户进行写操作
local_umask=022                              #本地用户上传文件的umask值(反掩码),如022,若是文件,则该文件权限为666-022=644,若是目录,则目录权限777-022=755
dirmessage_enable=YES
xferlog_enable=YES                           #是否开启日志
connect_from_port_20=YES                     
xferlog_std_format=YES
listen=NO                                    #是否进行独立监听
listen_ipv6=YES
pam_service_name=vsftpd                      #支持pam模块
userlist_enable=YES                          #是否支持用户黑名单
tcp_wrappers=YES


[root@caoxinyang ~]# yum install ftp
[root@caoxinyang ~]# yum install vsftpd
[root@caoxinyang ~]# iptables -F
[root@caoxinyang ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
[root@caoxinyang ~]# cd /etc/vsftpd/
[root@caoxinyang vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@caoxinyang vsftpd]# mv vsftpd.conf vsftpd.conf_bak
[root@caoxinyang vsftpd]# grep -v "#" vsftpd.conf_bak > vsftpd.conf
[root@caoxinyang vsftpd]# vim vsftpd.conf
[root@caoxinyang vsftpd]# systemctl restart vsftpd
[root@caoxinyang vsftpd]# systemctl enable vsftpd
[root@caoxinyang vsftpd]# ls -ld /var/ftp/pub/
drwxr-xr-x. 2 root root 6 Mar  7  2014 /var/ftp/pub/
[root@lizhiqiang vsftpd]# chown -Rf ftp /var/ftp/pub/
[root@lizhiqiang vsftpd]# ls -ld /var/ftp/pub/
drwxr-xr-x. 2 ftp root 6 Mar  7  2014 /var/ftp/pub/
[root@lizhiqiang vsftpd]# getsebool -a | grep ftp
ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
tftp_home_dir --> off
[root@lizhiqiang vsftpd]# setsebool -P ftpd_full_access=on
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值