vsftpd快速配置及配合mysql认证登录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vsftpd快速配置及配合mysql认证登录相关的知识,希望对你有一定的参考价值。
vsftpdvsftpd 是“very secure FTP daemon”,安全性是它的一个最大的特点,下面来看一下vsftpd的快速配置.
vsftpd主要的配置文件:
/etc/pam.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
用户类别:
匿名用户:
anonymous 默认账户及家目录 ftp, /var/ftp
/var/ftp 目录属性不可更改
将其匿名子目录的属主属组ftp
anon_upload_enable=YES 开启匿名用户的上传 anon_mkdir_write_enable=YES 开启写权限 anon_other_write_enable=YES 上传文件的权限是600
系统用户:
至少禁止系统用户访问ftp服务,/etc/vsftpd/ftpusers,PAM(/etc/pam.d/vsftpd);
用户的account认证需要pam_unix.so与/etc/passwd相关
需要依赖于系统账户区别权限
local_umask=022
定义访问用户的黑名单:/etc/pam.d/vsftpd
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
锁定用户的根目录
虚拟用户:非系统用户,用户账号非为可登录操作系统的用户账号(非/etc/passwd);
一般的默认设定用户通过vsftpd服务访问到的默认路径,是用户自己的家目录;默认可以自己有权限访问的所有路径间切换;
禁锢用户于其家目录中;须将用户撤销对其家目录的读权限
chroot_local_user=YES
上传下载速率:
anon_max_rate=0 local_max_rate=0
并发连接数限制:
max_clients=2000 max_per_ip=50
配置mysql与vsftp的认证:
1.安装开发环境:编译时要先安装与对应的开发环境
yum install mariadb-server mariadb-devel pam-devel
2.安装gcc,直接安装开发包组
yum install "Devlopment Tools" "Server Platform Development"
3.编译安装pam_mysql
]# tar xf pam_mysql-0.7RC1.tar.gz ./configure --with-pam=/usr --with-mysql=/usr --with-pam-mods-dir=/usr/lib64/security/ #指明模块的村饭路径 make && make install
4.配置vsftpd.conf文件:
pam_service_name=vsftpd.vusers #指明pam文件名 guest_enable=YES #开启来宾模式 guest_username=vuser #来宾用户
5.编写pam文件:README可查看
auth required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 account required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
6.创建msyql表:
vim /etc/my.cnf [mysqld] skip_name_resolve=ON innodb_file_per_table=ON log_bin=mysql-bin
授权用户远程登录:
GRANT ALL ON vsftpd.* TO [email protected]‘127.0.0.1‘ IDENTIFIED BY ‘vsftpd‘; FLUSH PRIVILEGES; CREATE DATABASE vsftpd; use vsftpd; CREATE TABLE users( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,name VARCHAR(100) NOT NULL ,password CHAR(48) NOT NULL UNIQUE KEY(name) ); INSERT INTO users( name,password) VALUES (‘centos‘,PASSWORD(‘centos‘)),(‘redhat‘,PASSWORD(‘redhat‘));
7.创建用户并创建根目录,虚拟用户映射
mkdir -p /ftproot/vuser useradd -d /ftproot/vuser vuser 将用户对家目录的写权限 chmod a-w /ftproot/vuser/
8.编辑vsftpd.conf文件
指明虚拟用户的配置文件路径 user_config_dir=/etc/vsftpd/vusers_config/
9.对每个用户建立配置文件:
vim /etc/vsftpd/vusers_config/centos anon_upload_enable=YES anon_mkdir_write_enable=YES
10.接下来对服务进行访问测试
本文出自 “老城小叙” 博客,请务必保留此出处http://cityx.blog.51cto.com/9857477/1933939
以上是关于vsftpd快速配置及配合mysql认证登录的主要内容,如果未能解决你的问题,请参考以下文章
在Centos7上使用vsftpd+pam_mysql实现虚拟用户认证