Centos7 搭建FTP服务器记录

最后更新于 2021-12-27 513 次阅读


本文学习自腾讯云vsftp教学https://cloud.tencent.com/document/product/1207/47638和阿里云vsftp教学https://help.aliyun.com/document_detail/92048.html,融入了博主自己的内容

1.服务器上安装Vsftpd

#设置vsftpd开机启动及开启vsftpd服务
systemctl enable vsftpd 
systemctl start vsftpd
​
#如果服务器上方有开启firewalld防火墙,需要打开21端口
firewall-cmd --list-all #查询当前机子上开启的端口
firewall-cmd --permanent --add-port=21/tcp #开启21端口
systemctl reload firewalld  #重新加载防火墙设置
firewall-cmd --list-all #查询配置是否生效

2.开启匿名模式(不建议使用)

vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:vsftpd.conf 为主要配置文件,ftpusers 配置禁止访问 FTP 服务器的用户列表,user_list 配置用户访问控制

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


输入i,进入编辑模式
解开匿名上传权限anon_upload_enable=YES前边的注释
​
:wq #保存并退出
​
chmod o+w /var/ftp/pub/ #更改/var/ftp/pub目录的权限,为FTP用添加写权限
​
systemctl restart vsftpd #重启vsftpd服务
如图,匿名模式已开启

3.本地用户模式

(1)创建本地用户


#添加用户组
groupadd zhongxing
​
#添加Linux用户,并设置密码
adduser zhaozewang -g zhongxing
passwd zhaozewang
​
#限制该用户只能登录ftp服务器,而不能直接登录服务器
usermod -s /sbin/nologin zhaozewang
​
#创建一个用于ftp的文件夹
mkdir -p /var/ftp/zhaozewang
​
#为了方便用户登录后可以看到欢迎信息,并且确定用户确实登录到了主目录上,我们需要给用户创建一个欢迎文件。创建登录欢迎文件,执行如下命令:
echo "Welcome to use FTP service." > /var/ftp/zhaozewang/welcome.txt
​
#修改ftp文件夹的用户及用户组归属
chown zhaozewang:zhongxing /var/ftp/zhaozewang
​
#修改目录权限
chmod 755 -R /var/ftp/zhaozewang
​
​

(2)修改vsftp配置文件

vim /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/zhaozewang
#指定例外用户列表文件,列表中用户不被锁定在主目录。
chroot_list_file=/etc/vsftpd/chroot_list
#开启被动模式。
pasv_enable=YES
allow_writeable_chroot=YES
#本教程中为Linux实例的公网IP。
pasv_address=<FTP服务器公网IP地址>
#设置被动模式下,建立数据传输可使用的端口范围的最小值。
#建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=40000
pasv_max_port=45000
​
(例如:local_root=/var/ftp/test
chroot_list_file=/etc/vsftpd/chroot_list
pasv_enable=YES
allow_writeable_chroot=YES
pasv_address=119.29.95.***
pasv_min_port=40000
pasv_max_port=45000
)
​
:wq 

#创建例外用户名单表,在这个名单内的用户可以不被锁定在主目录
vim /etc/vsftpd/chroot_list
​
#重启vsftp服务
systemctl restart vsftpd 

(3)云服务器上的防火墙安全组设置

在腾讯云的防火期安全组设置中放开端口21,如果使用被动模式的话在打开端口40000-45000,但是我这个服务器只能使用主动模式进入,所以我就不打开40000·45000端口了

4.电脑上安装FileZilla-Client

设置好服务器地址和帐号密码后,需要将ftp连接方式设置成主动连接

连接,如图,已经连接成功。之后要想创建多的帐号,请看博客第十四节的内容。