openeuler操作系统中ftp虚拟用户配置登录详解

ftp虚拟用户配置详解

什么是ftp虚拟用户

FTP的虚拟用户是特定服务的专用用户,拥有独立的用户/密码文件。所有虚拟用户会统一映射为一个指定的系统帐号:访问共享位置,即为此系统帐号的家目录,各虚拟用户可被赋予不同的访问权限,通过匿名用户的权限控制参数进行指定。
虚拟用户帐号有两种存储方式,一种是文件存储方式:编辑文本文件,此文件需要被编码为hash格式奇数行为用户名,偶数行为密码。另一种是数据库存储,存放在关系型数据库的表中,可实时查询数据库完成用户认证。接下来讲解如何详细实现上述这两种方式。

服务器端配置

一、安装vsftpd服务

1)安装命令:# yum install vsftpd lftp ftp –y
2)启动ftpd服务:#systemctl start vsftpd
3)设置服务开机自启:#systemctl enable vsftpd

二、设置内核配置

#vim /etc/sysconfig/selinux
SELINUX=disabled //重启系统使配置生效

三、防火墙配置

#firewall-cmd --permanent --add-service=ftp
success //更改防火墙设置为永久
#systemctl restart firewalld //重启防火墙
#systemctl stop firewalld //关闭防火墙
#systemctl restart vsftpd //重启ftp服务
在这里插入图片描述

四、在服务端配置用户

1、建立vsftpd服务的宿主用户

#useradd -d /home/ftp ftpuser //添加用户ftpuser,指定用户家目录为/home/ftp

2、//修改用户密码

#passwd ftpuser

3、设置用户登录shell

#usermod -s /sbin/nologin ftpuser

4、新建目录

#mkdir /home/ftp/ftpuser
#chmod -R 777 /home/ftp/ftpuser

五、日志文件

#touch /var/log/vsftpd.log //创建日志文件
#chown ftpuser:ftpuser /var/log/vsftpd.log //修改文件属性

六、配置服务

文件定义

1)/etc/vsftpd/ftpusers:黑名单文件,在此文件中的用户不允许访问FTP服务器。
2)/etc/vsftpd/user_list:白名单文件,在此文件中的用户允许访问FTP 服务器。
3)/etc/vsftpd/vsftpd.conf:ftp服务的核心配置文件。
4)/etc/vsftpd/vsftpd_conf_migrate.sh:vsftpd操作的-些变量和设置

修改vsftpd配置文件,配置如下:

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c92bda41c5144dc7bf4218fa024f7aa8.png

pam_service_name=vsftpd //PAM使用的名称,默认值为/etc/pam.d/vsftpd。
guest_enable= YES //启用虚拟用户
guest_username=ftpuser //用来映射虚拟用户
user_config_dir=/etc/vsftpd/vuser_conf //虚拟用户配置目录
listen_port=21 //监听在21端口
userlist_enable=YES //只允许vsftpd.user_list文件中的用户登录vsftp服务
anonymous_enable=NO //不允许匿名用户登录
local_enable=YES //允许本地用户登录
anon_umask=066 //为虚拟用户设置文件创建的umask值
xferlog_file=/var/log/vsftpd.log //日志文件位置
ascii_upload_enable=YES //启用上传的ASCII传输方式
ascii_download_enable=YES //启用下载的ASCII传输方式

七、建立虚拟用户名单

#vim /etc/vsftpd/vusers.txt
在这里插入图片描述

八、认证文件

#gdbmtool /etc/vsftpd/login.pag store ftpuser 123456 //生成认证文件
在这里插入图片描述

九、编辑认证文件/etc/pam.d/vsftpd

#vim /etc/pam.d/vsftpd
先将配置文件中原有的 auth 及 account 的所有配置行均注释掉,添加一下内容:
auth required pam_userdb.so db=/etc/vsftpd/login
account required pam_userdb.so db=/etc/vsftpd/login

在这里插入图片描述

十、创建虚拟用户权限配置文件存放位置

1.#mkdir /etc/vsftpd/vuser_conf //创建配置文件存放路径
2.#cd /etc/vsftpd/vuser_conf //进入此目录
3.#vim ftpuser 创建各用户自已的配置文件:(添加如下内容)
local_root=/home/ftp //虚拟用户登录家目录
anon_world_readable_only=NO //文件其他人必须有读的权限才允许下载
anon_upload_enable=YES //允许匿名用户对文件的下载
anon_mkdir_write_enable=YES //允许匿名用户对文件夹的创建
anon_other_write_enable=YES //允许匿名用户对文件和文件夹的删除和重命名

十一、重启vsftp服务

#systemctl restart vsftpd.service

客户端验证

一、访问验证

1)访问方式:ftp + ip地址,示例如下

[root@host1 ftp]# ftp 192.168.171.132
Connected to 192.168.171.132 (192.168.171.132).
220 (vsFTPd 3.0.3)
Name (192.168.171.132:root): ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

2)验证用户登录目录

在这里插入图片描述

3)验证不允许登出家目录:

1.登录虚拟用户
2.尝试切换至/var目录
在这里插入图片描述

4)验证创建文件

1.登录虚拟用户
2.创建目录test111
3.在用户家目录验证目录test111是否存在
在这里插入图片描述

5)验证上传文件

1.在服务器端往用户目录上传文件
2.登录虚拟用户,可以查看上传的文件

在这里插入图片描述

二、遇到的问题

登录时遇到下图报错:
在这里插入图片描述
解决方法: vsftpd更新到3.0.5后出现这个报错,意思是增加对配置错误的强制检查需要在配置文件vsftpd.conf中加入allow_writeable_chroot=YES,重新启动vsftpd服务登录即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值