这里有新鲜出炉的精品教程,程序狗速度看过来!
vsftpd 是 "very secure FTP daemon" 的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX 等系统上面,是一个完全免费的、开发源代码的 ftp 服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持 IPv6、速率高等。
下面小编就为大家带来一篇 CentOS 7 安装 vsftpd 服务器的具体操作步骤。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在 CentOS7 上安装 ftp 服务器用于保存服务端上传的图片。
1、CentOS 卸载 vsftpd 的方法
如果服务器上已经安装了 vsftpd 服务,配置出错需要卸载 vsftpd 服务。
1.1 查找 vsftpd 服务
- [root@localhost / ]#rpm - aq vsftpd
返回结果显示:
vsftpd-3.0.2-21.el7.x86_64 #此处是查找 vsftpd 的返回结果
表示此服务期之前已经安装过 vsftpd 服务。
1.2 删除查找到的 vsftpd 服务
注:在卸载 vsftpd 之前,先停止 vsftpd
- [root@localhost / ]# / sbin / service vsftpd stop
卸载 vsftpd:
- [root@localhost / ]#rpm - e vsftpd - 3.0.2 - 21.el7.x86_64
返回结果显示:
- warning: /etc/vsftpd / vsftpd.conf saved as / etc / vsftpd / vsftpd.conf.rpmsave#删除时将备份vsftp的用户列表文件
1.3 输入验证命令,验证 vsftpd 服务是否已经删除
- [root@localhost /]# /sbin/service vsftpd stop
- Redirecting to /bin/systemctl stop vsftpd.service
- Failed to stop vsftpd.service: Unit vsftpd.service not loaded. #找不到vsftpd
- [root@localhost /]# /sbin/service vsftpd start
- Redirecting to /bin/systemctl start vsftpd.service
- Failed to start vsftpd.service: Unit not found. #找不到vsftpd
如果输入以上两个命令都显示找不到 vsftpd 服务的话,那就证明已经卸载成功。
2、安装 vsftpd 组件
- [root@localhost / ]#yum - y install vsftpd
2.1 启动 ftp
- [root@localhost home]#systemctl start vsftpd.service
2.2 放开 21 端口
- [root@localhost /]# firewall-cmd --zone=public --add-port=21/tcp --permanent
- [root@localhost /]# firewall-cmd --reload
3、vsftpd 服务的详细配置
3.1 关闭匿名用户
- [root@localhost vsftpd]#vim / etc / vsftpd / vsftpd.conf
在 vsftpd.conf 配置文件中修改以下三项:
- anonymous_enable=NO
- #anon_upload_enable=YES
- #anon_mkdir_write_enable=YES
然后重启 ftp 服务:
- [root@localhost vsftpd]#systemctl restart vsftpd.service
通过配置重启之后,匿名用户不可以登录了。
3.2 建立 ftp 虚拟宿主账户
新建一个不能登录系统用户. 只用来登录 ftp 服务 , 这里如果没设置用户目录。默认是在 home 下:
- [root@localhost vsftpd]#useradd ftpuser - s / sbin / nologin
为 ftpuser 用户设置密码:
- [root@localhost / ]#passwd ftpuser
3.3 查看 ftp 的状态
- [root@localhost / ]#getsebool - a | grep ftp
显示结果:
- ftpd_anon_write --> off
- ftpd_connect_all_unreserved --> off
- ftpd_connect_db --> off
- ftpd_full_access --> off
- ftpd_use_cifs --> off
- ftpd_use_fusefs --> off
- ftpd_use_nfs --> off
- ftpd_use_passive_mode --> off
- httpd_can_connect_ftp --> off
- httpd_enable_ftp_server --> off
- tftp_anon_write --> off
- tftp_home_dir --> off
将上面红色两项状态设置为 on:
- [root@localhost vsftpd]# setsebool -P allow_ftpd_full_access on
- [root@localhost vsftpd]# setsebool -P tftp_home_dir on
3.4 配置 vsftpd.conf
限制系统用户锁定在 / home/ftpuser 目录
如果设置为
- chroot_local_user=YES
- chroot_list_enable=YES(这行可以没有, 也可以有)
- chroot_list_file=/etc/vsftpd.chroot_list
那么, 凡是加在文件 vsftpd.chroot_list 中的用户都是不受限止的用户
即, 可以浏览其主目录的上级目录.
所以, 如果不希望某用户能够浏览其主目录上级目录中的内容, 可以如上设置, 然后在
文件 vsftpd.chroot_list 中不添加该用户即可 (此时, 在该文件中的用户都是可以浏览其主目录之外的目录的).
或者, 设置如下
- chroot_local_user=NO
- chroot_list_enable=YES(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)
- chroot_list_file=/etc/vsftpd.chroot_list
然后把所有不希望有这种浏览其主目录之上的各目录权限的用户添加到文件 vsftpd.chroot_list(此时, 在该文件中的用户都是不可以浏览其主目录之外的目录的)
中即可 (一行一个用户名).
- [root@localhost vsftpd]#vim / etc / vsftpd / vsftpd.conf
这里有两种方案,我采用第二种,配置如下:
- chroot_local_user=NO
- chroot_list_enable=YES #(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)
- chroot_list_file=/etc/vsftpd/chroot_list
默认 chroot_list 是不存在的
- [root@localhost vsftpd]#vim / etc / vsftpd / chroot_list
然后加入 ftpuser ,表示只有 ftpuser 不能访问上级目录,重启 vsftpd。
3.5 修改权限
修改 / home/ftpuser 的权限为不可写
- [root@localhost vsftpd]#chmod a - w / home / ftpuser / taotao
这是因为我们在上面将 / home/ftpuser/taotao 文件的权限改为不可写了,那么我们在这个目录下创建一个 images 文件夹,用来上传文件。并将权限赋值给 ftpuser 用户
- [root@localhost taotao]# mkdir images
- [root@localhost images]# chown ftpuser images
4、开启 PASV(被动模式)
在 /etc/vsftpd/vsftpd.conf 的最下面加入
- pasv_enable=YES
- pasv_min_port=30000
- pasv_max_port=30999
并且在 userlist_enable=YES 文件后面添加
- userlist_deny=NO
- userlist_file=/etc/vsftpd/user_list
开启防火墙:
- [root@localhost taotao]# firewall-cmd --zone=public --add-port=30000-30999/tcp --permanent
- [root@localhost taotao]# firewall-cmd --reload
这样就可以使用 ftp 服务器上传文件了。
以上这篇 CentOS 7 安装 vsftpd 服务器的具体操作步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持 PHPERZ。
来源: http://www.phperz.com/article/17/0818/344215.html