centos 7搭建基于虚拟用户的FTP服务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos 7搭建基于虚拟用户的FTP服务相关的知识,希望对你有一定的参考价值。
该博文主要记录了centos 7中使用vsftpd服务的虚拟用户配置过程,即将一个真实的系统用户映射为多个虚拟用户。部署vsftpd虚拟用户的思路:
过程如下:
- 建立虚拟FTP用户的账号数据库文件。
- 创建FTP根目录及虚拟用户映射的系统用户。
- 建立支持虚拟用户的PAM认证文件。
- 在vsftpd.conf文件中添加支持配置。
- 为个别虚拟用户建立独立的配置文件。
- 重新加载vsftpd配置。
- 使用虚拟FTP账户访问进而测试是否成功。
该博文是最初写博文时,写过的一篇博文,当初不懂排版,截图比较多,导致有人在参考这个文档时,不能够直接复制命令,所以就又抽时间写了一遍,以下博文关于一些命令的解释不够详细,毕竟是写的第二次了,所以,希望大家谅解以下,若想了解配置的详细解释,以及更多的权限配置项,可以参考我之前写的类似的博文:centos 7搭建基于虚拟用户的FTP服务 ,这篇旧的博文链接关于配置的解释比较详细,但是很多命令都是截图,这就是我写现在这篇博文的初衷。不说废话了,开始部署吧!!!
开始部署:
[root@localhost /]# yum clean all #清除yum缓存
[root@localhost /]# yum -y install vsftpd* #安装vsftpd
#配置本地yum仓库或指向互联网都可。
[root@localhost /]# vim /etc/vsftpd/vusers.list #创建文本格式的用户名/密码列表
#下面写入虚拟账号,其中,奇数行为用户名,偶数行为上一行中用户所对应的密码。
mike
123
john
456
#写完保存退出即可,上面添加了两个虚拟用户,mike的密码是123,John的密码是456。
[root@localhost /]# cd /etc/vsftpd/
[root@localhost vsftpd]# db_load -T -t hash -f vusers.list vusers.db #创建Berkeley DB格式的数据库文件
[root@localhost vsftpd]# chmod 600 /etc/vsftpd/vusers.* #为保证数据安全,所以更改下权限
[root@localhost vsftpd]# useradd -d /var/ftproot -s /sbin/nologin test #添加虚拟用户的映射账号
[root@localhost vsftpd]# chmod 777 /var/ftproot/
[root@localhost vsftpd]# vim /etc/pam.d/vsftpd.vu 为虚拟用户建立PAM认证文件
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
#写完上面两行,保存退出即可
[root@localhost vsftpd]# mkdir /etc/vsftpd/vusers_dir #为不同的虚拟用户建立独立的配置文件
[root@localhost vsftpd]# cd /etc/vsftpd/vusers_dir/
[root@localhost vusers_dir]# vim john #写入john用户的权限
anon_upload_enable=YES
anon_mkdir_write_enable=YES
#写完上面两行,保存退出即可
[root@localhost vusers_dir]# cp john mike #给用户mike复制一份
[root@localhost vusers_dir]# vim /etc/vsftpd/vsftpd.conf #编辑主配置文件为如下
#我为了使主配置文件简洁一些,注释类的配置我都删除了,以下为我这里主配置文件的所有内容
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd.vu
userlist_enable=YES
tcp_wrappers=YES
guest_username=test
guest_enable=YES
allow_writeable_chroot=YES
anon_world_readable_only=NO
anon_other_write_enable=YES
user_config_dir=/etc/vsftpd/vusers_dir
#将主配置文件更改为如上,即可保存退出。
[root@localhost ~]# systemctl start vsftpd #启动vsftpd服务,使用客户端访问验证即可
想要了解更多的权限配置,请移步:centos 7搭建基于虚拟用户的FTP服务
注意:默认的所有虚拟用户登录上的位置是创建test用户时指定的家目录,在上面的配置中,也就是/var/ftproot是所有虚拟用户登录后访问的默认位置
以上是关于centos 7搭建基于虚拟用户的FTP服务的主要内容,如果未能解决你的问题,请参考以下文章