vsftpd基于mysql实现用户认证
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了vsftpd基于mysql实现用户认证,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3282字,纯文字阅读大概需要5分钟。
内容图文
![vsftpd基于mysql实现用户认证](/upload/InfoBanner/zyjiaocheng/497/1441fb39fff2434a88cccd82fe3dc22e.jpg)
IP地址 | 操作系统 | 服务器角色 |
192.168.1.144 | CentOS 6.9 | vsftpd服务器 |
192.168.1.145 | CentOS 6.9 | mysql服务器 |
二、安装前准备:
1、 服务器时间校对
2、 配置epel源
三、mysql服务器所需执行的操作:
1、 安装软件包:# yum -y install mysql-server mysql-devel ftp
2、 启动mysql,检查3306号端口是否被监听:# service mysqld start # ss -tnlp | grep :3306
3、 初始化mysql:# mysql_secure_installation //设置root用户密码为123456
4、 创建数据库、表,并授权远程用户登录:
# mysql -uroot -p
mysql> create database ftp;
mysql> grant select on ftp.* to ftpuser@'192.168.1.144' identified by '123456';
mysql> flush privileges;
mysql> use ftp;
mysql> create table user(id int unsigned auto_increment not null primary key,name varchar(20) binary not null,password char(48) binary not null);
mysql> desc user;
5、 添加FTP虚拟用户marion和keyso:
mysql> insert into user(name,password) values('marion',password('mftpasswd')),('keyso',password('kftpasswd'));
备注:虚拟用户marion使用密码mftpasswd登录FTP,虚拟用户keyso则使用密码kftpasswd登录FTP
mysql> select * from user;
备注:账号密码使用password()函数加密后存储
四、vsftpd服务器所需执行的操作:
1、 安装软件包:# yum -y install vsftpd pam_mysql mysql
2、 使用账号ftpuser远程登录mysql服务器:
3、 创建认证所需文件vsftpd.mysql:
# rpm -ql pam_mysql | grep pam_mysql.so --> /lib64/security/pam_mysql.so
# vim /etc/pam.d/vsftpd.mysql,添加如下两行代码:
auth required /lib64/security/pam_mysql.so user=ftpuser passwd=123456 host=192.168.1.145 db=ftp table=user usercolumn=name passwdcolumn=password crypt=2
account required /lib64/security/pam_mysql.so user=ftpuser passwd=123456 host=192.168.1.145 db=ftp table=user usercolumn=name passwdcolumn=password crypt=2
备注:
数字 | 代表的含义 |
0 | 不加密,明文 |
1 | 使用crypt函数加密 |
2 | 使用mysql password()函数加密 |
3 | 使用md5加密 |
4 | 使用sha1加密 |
4、 创建虚拟用户映射的系统用户:
# useradd -s /sbin/nologin -d /ftpdocs vuser //新的家目录ftpdocs必须事先不存在,该命令会自动创建
# chmod go+rx /ftpdocs
5、 修改主配置文件/etc/vsftpd/vsftpd.conf,确认启用如下选项:
chroot_local_user=YES
pam_service_name=vsftpd.mysql
guest_enable=YES
guest_username=vuser
user_config_dir=/etc/vsftpd/vusers
use_localtime=YES
6、 创建对应的虚拟用户配置文件目录:# mkdir -pv /etc/vsftpd/vusers
7、 配置不同的虚拟用户具有不同的访问权限:
# cd /etc/vsftpd/vusers
# vim marion
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
# cp marion keyso
# sed -i 's#YES#NO#g' keyso
备注:每个虚拟用户的配置文件名同虚拟用户的用户名。虚拟用户所能执行的权限都由匿名用户的相关选项定义。所有的虚拟用户都映射到系统用户vuser上。
8、 启动vsftpd,检查21号端口是否被监听:# service vsftpd start # ss -tnlp | grep :21
五、用户认证测试:
在mysql服务器上分别使用虚拟用户marion和keyso远程登录FTP:# ftp 192.168.1.144,测试上传文件、删除文件、创建目录和删除目录等权限
使用虚拟用户marion登录FTP:
使用虚拟用户keyso登录FTP:
vsftpd基于mysql实现用户认证
标签:image 系统 服务器角色 images orm win 虚拟用户 角色 passwd
本文系统来源:http://blog.51cto.com/qiuyue/2057761
内容总结
以上是互联网集市为您收集整理的vsftpd基于mysql实现用户认证全部内容,希望文章能够帮你解决vsftpd基于mysql实现用户认证所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。