CentOS 7搭建ftp文件服务

参考:https://www.alibabacloud.com/help/zh/doc-detail/92048.htm#h2-url-3

1. 安装启动vsftpd

1.1 运行以下命令安装vsftpd,如图代表安装成功
yum install -y vsftpd

image.png

1.2 设置开机自启
systemctl enable vsftpd.service
1.3 启动ftp服务
systemctl start vsftpd.service
1.4 查看ftp服务监听的端口
netstat -antup | grep ftp
如图表示ftp服务已启动,监听的端口号为21。默认已开启匿名访问功能,无需输入用户名密码即可登录ftp服务器,但没有修改或上传文件的权限
image.png

2. 配置vsftpd

以下方式二选一即可。

匿名用户: 配置匿名用户上传文件权限
a. 修改配置文件(进入编辑器后,按i可进行编辑,按Esc退出编辑,非编辑模式输入/+搜索内容回车 可进行搜索,非编辑模式输入:wq保存退出编辑器,:q!不保存强制退出)
vim /etc/vsftpd/vsftpd.conf
进入编辑模式,将anon_upload_enable=YES取消注释,保存退出
b. 修改ftp服务默认目录的权限
chmod o+w /var/ftp/pub/
c. 重启ftp服务,让配置生效
systemctl restart vsftpd.service

本地用户: 配置本地用户访问FTP服务器
a. 运行以下命令为FTP服务创建一个Linux用户。本示例中,该用户名为ftptest
adduser ftptest
b. 运行以下命令修改ftptest用户的密码
passwd ftptest
c. 运行以下命令创建一个供FTP服务使用的文件目录
mkdir /var/ftp/test
d. 运行以下命令更改/var/ftp/test目录的拥有者为ftptest
chown -R ftptest:ftptest /var/ftp/test
e. 修改/etc/vsftpd/vsftpd.conf配置文件

#除下面提及的参数外,其他参数保持默认值即可。

#修改下列参数的值
#禁止匿名登录FTP服务器
anonymous_enable=NO
#允许本地用户登录FTP服务器
local_enable=YES
#监听IPv4 sockets
listen=YES
#在行首添加#注释掉以下参数,关闭监听IPv6 sockets
#listen_ipv6=YES

#添加下列参数
#设置本地用户登录后所在目录
local_root=/var/ftp/test
#全部用户被限制在主目录
chroot_local_user=YES
#启用例外用户名单
chroot_list_enable=YES
#指定例外用户列表文件,列表中用户不被锁定在主目录
chroot_list_file=/etc/vsftpd/chroot_list
#开启被动模式
pasv_enable=YES
allow_writeable_chroot=YES
#本教程中为Linux实例公网IP
pasv_address=<FTP服务器公网IP地址>
#设置被动模式下,建立数据传输可使用的端口范围的最小值
pasv_min_port=<port number>
#设置被动模式下,建立数据传输可使用的端口范围的最大值
pasv_max_port=<port number>

f. 创建chroot_list文件,并在文件中写入例外用户名单(此名单中的用户不会被锁定在主目录,可以访问其他目录)
vim /etc/vsftpd/chroot_list

注:如果想知道安装到哪个位置,可以通过以下步骤
a. 查看安装包 rpm -qa|grep vsftpd

image.png

b. 查看安装路径 rpm -ql vsftpd-3.0.2-28.el7.x86_64

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容