共计 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 配置文件目录
# ll /etc/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 服务
# systemctl enable vsftpd.service // 设置开机自启动
# systemctl start vsftpd.service // 启动 ftp 服务
# ss -antup | grep ftp // 查看 ftp 服务端口
tcp LISTEN 0 32 :::21 :::* users:((“vsftpd”,pid=6354,fd=3))
显示 21 端口表示已经启动成功
8. 新建 ftp 用户,其中 /home/renwole 是我自己的 ftp 目录,可以根据需要进行相应更改
# useradd -g ftp -d /home/renwole -s /sbin/nologin renwole
-g // 用户组 指定用户所属的附加组
-d // 目录 指定用户主目录,如果此目录不存在,则同时使用 - m 选项,可以创建主目录。-s /sbin/nologin // 指定用户只能用于 ftp 登录,拒绝登录系统
9. 设置 ebadu 用户密码为“renwoletest123”
# passwd renwole
输入两次相同密码回车设置成功
10. 设置防火墙,否则无法连接 ftp 服务器,当然你也可以关闭防火墙。
# firewall-cmd –permanent –zone=public –add-service=ftp // 将 ftp 服务器服务加入防火墙
# firewall-cmd –reload // 不重启 firewall 防火墙使其重载生效
11. 设置 SELinux:
# getsebool -a | grep ftp
# setsebool -P ftpd_full_access on
vsftpd 服务器已经配置安装完成,现在可以测试连接 ftp 服务器了。
正文完
星哥玩云-微信公众号