CentOS 7.9配置FTP
  K3k0UXFBZYtj 2023年11月02日 73 0

一、相关概念简介:

1、vsftpd:very secure FTP daemon,是一款开源FTP服务器软件,具有小巧轻快、安全易用等特点。

2、FTP主动模式:客户端向服务端发送数据端口的信息,由服务端主动连接客户端发送的数据端口。

3、FTP被动模式:服务端开启并发送数据端口的信息给客户端,由客户端连接服务端开启的数据端口,服务端被动接收连接。

二、部署FTP:

1、演示环境:

IP

主机名

操作系统

192.168.0.202

ftp-server

CentOS 7.9

说明:已关闭SELinux和firewalld

2、使用场景:

(1)FTP文件存放目录:/ftp

(2)管理员ftpadmin的权限:具有上传、下载、创建、删除和修改的所有权限

(3)普通用户ftpuser的权限:只能下载,不能上传、创建、删除和修改

3、安装vsftpd:

# yum install -y vsftpd

4、设置开机自启动:

# systemctl enable vsftpd

5、创建FTP管理员ftpadmin和普通用户ftpuser,并分别设置密码:

# useradd -s /sbin/nologin ftpadmin
# echo "asdf1234" | passwd --stdin ftpadmin

CentOS 7.9配置FTP_主动模式

说明:密码中不能包含!、#、%、$和@等特殊字符

# yum -y install finger
# finger ftpadmin

CentOS 7.9配置FTP_主动模式_02

# useradd -s /sbin/nologin ftpuser
# echo "123456" | passwd --stdin ftpuser

CentOS 7.9配置FTP_主动模式_03

# finger ftpuser

CentOS 7.9配置FTP_权限控制_04

6、修改配置文件/etc/shells:

# echo "/sbin/nologin" >> /etc/shells
# cat /etc/shells

CentOS 7.9配置FTP_主动模式_05

7、创建FTP文件存放目录,创建测试文件,并按需求对目录授权:

# mkdir -pv /ftp/test
# touch /ftp/text.txt
# chown -R ftpadmin.ftpadmin /ftp
# ls -ldh /ftp

CentOS 7.9配置FTP_FTP_06

# ls -lh /ftp

CentOS 7.9配置FTP_主动模式_07

# yum -y install tree
# tree /ftp

CentOS 7.9配置FTP_被动模式_08

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

# cd /etc/vsftpd
# mv vsftpd.conf{,.bak}
# vim vsftpd.conf
#不允许匿名用户登录FTP
anonymous_enable=NO
#允许本地用户登录FTP
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
#限制本地用户在主目录
chroot_local_user=YES
#禁用例外用户名单
chroot_list_enable=NO
#本地用户登录FTP后的主目录
local_root=/ftp
allow_writeable_chroot=YES
userlist_deny=NO
#FTP以单机模式运行,并监听IPv4端口
listen=YES
#FTP不监听IPv6端口
listen_ipv6=NO
#将FTP的默认21端口修改为21021
listen_port=21021
pam_service_name=vsftpd
userlist_enable=YES
#FTP支持以被动模式运行
pasv_enable=YES
tcp_wrappers=YES
#如果FTP部署在公网,此IP必须为公网IP,不能为域名或内网IP
#此处演示部署在内网,此IP为内网IP
pasv_address=192.168.0.202
#配置FTP在被动模式下可供访问的端口范围,如下配置说明每次同时只能有5个客户端登录
pasv_min_port=21321
pasv_max_port=21325

说明:

(1)如果在类似阿里云ECS或腾讯云CVM上部署FTP,需要在安全组规则-->入站规则中放行如下端口:

  • FTP主动模式:放行TCP/21021端口
  • FTP被动模式:放行TCP/21021端口,还有TCP的pasv_min_port和pasv_max_port之间的所有端口

CentOS 7.9配置FTP_权限控制_09

(2)查看去除注释行和空行的配置文件可用如下命令:

# grep -vE "^#|^$" /etc/vsftpd/vsftpd.conf

9、配置FTP白名单:

# mv user_list{,.bak}
# echo -e "ftpuser\nftpadmin" > user_list
# cat user_list

CentOS 7.9配置FTP_vsftpd_10

10、启动vsftpd:

# systemctl start vsftpd
# ss -tunlp | grep 21021

CentOS 7.9配置FTP_vsftpd_11

三、Xftp测试:

1、管理员ftpadmin:

CentOS 7.9配置FTP_主动模式_12

CentOS 7.9配置FTP_被动模式_13

CentOS 7.9配置FTP_权限控制_14

说明:具有上传、下载、创建、删除和修改的所有权限

2、普通用户ftpuser:

说明:只能下载,不能上传、创建、删除和修改

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

K3k0UXFBZYtj