共计 3154 个字符,预计需要花费 8 分钟才能阅读完成。
实验环境:CentOS Linux release 7.3.1611 (Core)
内核版本:Linux version 3.10.0-514.el7.x86_64
1. 查看系统自带的 vsftpd 软件包版本
# yum list vsftpd | |
Loaded plugins: fastestmirror | |
Loading mirror speeds from cached hostfile | |
* base: mirrors.aliyun.com | |
* extras: mirrors.aliyun.com | |
* updates: mirrors.cn99.com | |
Installed Packages | |
vsftpd.x86_64 3.0.2-21.el7 @base |
2. 开始安装
# yum install -y vsftpd | |
Loaded plugins: fastestmirror | |
Loading mirror speeds from cached hostfile | |
* base: mirrors.aliyun.com | |
* extras: mirrors.aliyun.com | |
* updates: mirrors.njupt.edu.cn | |
Resolving Dependencies | |
–> Running transaction check | |
—> Package vsftpd.x86_64 0:3.0.2-21.el7 will be installed | |
–> Finished Dependency Resolution | |
Dependencies Resolved | |
================================================================================ | |
Package Arch Version Repository Size | |
================================================================================ | |
Installing: | |
vsftpd x86_64 3.0.2-21.el7 base 169 k | |
Transaction Summary | |
================================================================================ | |
Install 1 Package | |
Total download size: 169 k | |
Installed size: 348 k | |
Downloading packages: | |
vsftpd-3.0.2-21.el7.x86_64.rpm | 169 kB 00:00 | |
Running transaction check | |
Running transaction test | |
Transaction test succeeded | |
Running transaction | |
Warning: RPMDB altered outside of yum. | |
Installing : vsftpd-3.0.2-21.el7.x86_64 1/1 | |
Verifying : vsftpd-3.0.2-21.el7.x86_64 1/1 | |
Installed: | |
vsftpd.x86_64 0:3.0.2-21.el7 | |
Complete! |
安装成功!
3. 查看 vsftpd 配置文件目录
/etc/vsftpd/vsftpd.conf // 主配置文件,核心配置文件 | |
/etc/vsftpd/ftpusers // 黑名单,这个里面的用户不允许访问 FTP 服务器 | |
/etc/vsftpd/user_list // 白名单,允许访问 FTP 服务器的用户列表 | |
/etc/vsftpd/vsftpd_conf_migrate.sh //vsftpd 操作的一些变量和设置脚本 |
4. 重命名原有 vsftpd.conf 配置文件
# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
5. 新建 vsftpd.conf 并插入下面参数保存并退出
# vi /etc/vsftpd/vsftpd.conf | |
anonymous_enable=NO // 拒绝匿名用户 | |
local_enable=YES // 接受本地用户 | |
write_enable=YES // 可以上传 (全局控制) | |
local_umask=022 // 本地用户上传文件的 umask | |
dirmessage_enable=YES // 用户进入一个目次后,是否给出静态提示。默认 YES,默认即可 | |
xferlog_enable=YES // 表明将记录的上传下载情况写在 xferlog_file 所指定的文件中 | |
connect_from_port_20=YES //FTP PORT 主动模式进行数据传输时使用 20 端口 (ftp-data)。YES 使用,NO 不使用。xferlog_std_format=YES // 是否采用标准格式记录日志 | |
chroot_local_user=YES // 所有的用户均不能切换到其他目录。chroot_list_enable=YES // 所有的用户均不能切换到其他目录 | |
chroot_list_file=/etc/vsftpd/chroot_list // 凡是加入 vsftpd.chroot_list 中的用户都不受限止,即; 可以浏览其主目录的上级目录. | |
listen=NO | |
listen_ipv6=YES | |
pam_service_name=vsftpd // 虚拟用户使用 PAM 认证方式。userlist_enable=YES // 是否启用 vsftpd.user_list 文件。tcp_wrappers=YES // 设置 vsftpd 是否与 tcp wrapper 相结合来进行主机的访问控制 | |
allow_writeable_chroot=YES // 解决 500 OOPS 错误 |
注意: 请去掉“//”和“后面的文字”否则启动 ftp 服务器可能会失败。
6. 创建文件 chroot_list 文件
# touch /etc/vsftpd/chroot_list // 默认留空
7. 启动 ftp 服务
tcp LISTEN 0 32 :::21 :::* users:((“vsftpd”,pid=6354,fd=3)) |
显示 21 端口表示已经启动成功
8. 新建 ftp 用户,其中 /home/renwole 是我自己的 ftp 目录,可以根据需要进行相应更改
-g // 用户组 指定用户所属的附加组 | |
-d // 目录 指定用户主目录,如果此目录不存在,则同时使用 - m 选项,可以创建主目录。-s /sbin/nologin // 指定用户只能用于 ftp 登录,拒绝登录系统 |
9. 设置 ebadu 用户密码为“renwoletest123”
# passwd renwole
输入两次相同密码回车设置成功
10. 设置防火墙,否则无法连接 ftp 服务器,当然你也可以关闭防火墙。
11. 设置 SELinux:
# getsebool -a | grep ftp | |
# setsebool -P ftpd_full_access on |
vsftpd 服务器已经配置安装完成,现在可以测试连接 ftp 服务器了。
正文完
星哥玩云-微信公众号
