在 Cetnos7 上安装 vsftpd 服务程序比较简单,但是可能会踩的坑也比较多,为了避免自己需要的时候还要瞎折腾,就将安装的过程记录下来,方便后续的回顾和总结。
安装 vsftpd 服务仅需要三步:安装、打开防火墙然后简单的配置。
1.安装
在终端中直接使用 yum 安装即可:
# yum install -y vsftpd
1
2.为该服务开放端口
# firewall-cmd --zone=public --permanent --add-port=21/tcp
# firewall-cmd --zone=public --permanent --add-service=ftp
# firewall-cmd --reload
3. 简单的配置
vsftpd 的配置其实很简单,但是如果想要一些特殊的功能的话,可能就要仔细的研究一下位于 /etc/vsftpd/ 下面的几个文件,尤其是 vsftpd.conf 这个是 vsftpd 主要的配置文件。
如果只是想使用的话,我们只需要修改一处即可:将 listen 设置为 YES, 将 listen_ipv6 设置为 NO。默认 listen 为 NO, 将 listen_ipv6 为 YES
listen=YES
#.....
#.....
#.....
listen_ipv6=NO
1
2
3
4
5
修改后之后我们重启vsftpd 服务:
systemctl restart vsftpd
1
4. 测试连接
经过前面三步,我们就安装了 vsftpd 并且完成了最简单的配置,下面我们使用第三方 ftp 连接工具(这里我使用的是 xftp)进行连接测试:
输入用户和密码:
]
然后就连接成功了:
踩坑
但是我们不能使用 root 用户连接 ftp 服务,这是 vsftpd 的默认行为,默认是不允许 root 连接的,也是为了保证安全性。但是我们是可以设置使用 root 连接的。
还记得在 /etc/vsftpd/ 下面的三个文件夹嘛,我们查看 ftpusers 文件:
# cat ftpusers
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
看注释,写的是 Users that are not allowed to login via ftp, 也就是说下面这些用户是不被允许登陆 ftp 的,而 root 就在这份名单中,所以root 不被允许通过 ftp 登陆。这里可以将 root 从该文件中删除后再试一下使用 root 登陆(记得修改过配置文件后要重启服务):
但是发现还是不行:
我们还忘记了在 /etc/vsftpd/ 目录下的另一个文件 user_list,我们打开查看一下:
cat user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
通过查看注释说的意思和 ftpuser 下说的意思是一样的,也就是当前列表中的用户不允许登录,可以看到还是有 root, 我们再把这里的 root 从列表中删除试一下(记得修改过配置文件后要重启服务):
使用 ftp 工具重新连接,这个时候我们就发现连接成功了:
————————————————
版权声明:本文为CSDN博主「CoderCXF」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42119041/article/details/109775548