搭建ftp服务器

本文详细介绍了在Linux系统中如何关闭防火墙和SELinux,安装并配置vsftpd FTP服务,包括设置匿名访问、用户权限、日志记录、限速以及IP黑名单。此外,还讲解了如何通过修改配置文件实现用户目录设定、写权限控制、用户列表管理以及限制传输速度。最后,提到了使用hosts.deny文件来禁止特定IP或网段访问,并通过设置tcp_wrappers限制FTP服务的带宽。
摘要由CSDN通过智能技术生成

1.准备工作

关闭防火墙:systemctl stop firewalld

关闭selinux:setenforce 0

2安装ftp服务

yum -y install vsftpd

配置开机自启:systemctl enable vsftpd

3.配置文件

查看配置文件中除去注释内容:grep -v ^# /etc/vsftpd/vsftpd.conf

anonymous_enable=YES				支持匿名用户访问
local_enable=YES					非匿名用户
write_enable=YES					写操作总开关(针对非匿名用户)
local_umask=022						反掩码
dirmessage_enable=YES				启用消息功能
xferlog_enable=YES					开启或启用xferlog日志
connect_from_port_20=YES			支持主动模式(默认是被动)
xferlog_std_format=YES				xferlog日志格式
listen=NO							ftp服务独立模式下的监听
listen_ipv6=YES						支持ipv6


pam_service_name=vsftpd			    指定用户文件
userlist_enable=YES				    启用用户列表(黑名单)
tcp_wrappers=YES					支持tcp_wrappers(FTP限速操作)
	

修改配置文件:vim /etc/vsftpd/vsftpd.conf

设置用户登录的目录:local_root=/tmp/data                 这里目录根据自己情况设置

允许有写权限:allow_writeable_chroot=YES

允许部分用户,解禁目录

chroot_local_user=NO

chroot_list_enable=YES                    #开启用户列表文件

chroot_list_file=/etc/vsftpd/chroot_list   #  指定用户列表文件,写在此目录的用户,可以突破禁锢目录活动

local_enable=YES
local_root=/tmp/data
allow_writeable_chroot=YES
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

设置单用户的acl权限:

语法:

setfacl -R -m u:用户名:rwx 目录

setfacl -R -m u:wu:rwx /tmp/data                  #给wu设置对/tmp/data目录rwx权限

4.开启服务

systemctl start vsftpd

在win系统文件资源管理器输入:ftp://服务器ip地址

当然在linux中也可以访问:ftp 服务器ip地址

5.黑名单与白名单

黑名单:/etc/vsftpd/user_list 和 /etc/vsftpd/ftpusers

如果名单出现在/etc/vsftpd/user_list中,用户连输入密码的机会都没有。

[root@localhost app]# ftp 192.168.156.10
Connected to 192.168.156.10 (192.168.156.10).
220 (vsFTPd 3.0.2)
Name (192.168.156.10:root): li                li用户没有输入密码,直接不允许登入
530 Permission denied.
Login failed.

如果名单出现在 /etc/vsftpd/ftpusers中,用户可以输入密码。

[root@localhost app]# ftp 192.168.156.10
Connected to 192.168.156.10 (192.168.156.10).
220 (vsFTPd 3.0.2)
Name (192.168.156.10:root): wu
331 Please specify the password.
Password:                                #wu用户可以输入密码,但不允许登入
530 Login incorrect.
Login failed.

将/etc/vsftpd/user_list变为白名单:修改配置文件:userlist_deny=NO

黑名单优先于白名单

6.禁止某个ip或网段

编辑/etc/hosts.deny

vsftpd:all 		                        #全部拒绝	
vsftpd:all   EXCEPT IP		            #拒绝处理给定IP外所有	
vsftpd:IP                               #拒绝给定IP
vsftpd:IP:allow                         #允许给定IP
vsftpd:192.168.0.0/255.255.255.0        #拒绝给定网段
vsftpd: 192.168.0.0/255.255.255.0 E	XCEPT IP  #拒绝给定网段,除了给定IP

7.限制传输速度

编辑/etc/vsftpd/vsftpd.conf,设置tcp_wrappers=YES   

添加一行:local_max_rate=1024   

设置最大的传输速度为1024个字节

判断某个服务是否tcp_wrappers

1).  ./configure --enable-libwrap 表示支持tcp_wrappers访问控制(源码包安装)

2).rpm包安装(yum包安装):

ldd +二进制程序  | grep 查询板块

查询vsftpd是否支持tcp_wrappers

[root@localhost vsftpd]# ldd /usr/sbin/vsftpd | grep libwrap*
	libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f246576b000)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值