发布时间:2020-03-31 16:16:03来源:阅读:
在数据库服务器上安装包:
yum –y install mariadb-server mariadb-devel
systemctl start mariadb.service
systemctl enable mariadb
在FTP服务器上安装包pam_mysql
centos7:无对应rpm包,需手动编译安装
yum -y groupinstall “Development Tools”
yum -y install mariadb-devel pam-devel vsftpd
下载pam_mysql-0.7RC1.tar.gz
ftp://172.16.0.1/pub/Sources/sources/pam/
tar xvfpam_mysql-0.7RC1.tar.gz
cd pam_mysql-0.7RC1/
./configure –with-mysql=/usr –with-pam=/usr –with-pam-mods-dir=/lib64/security
make
make install
示例创建为vsftpd数据库
mysql> CREATE DATABASE vsftpd;
mysql> SHOW DATABASES;
ftp服务和mysql不在同一主机:
mysql> GRANT SELECT ON vsftpd.* TO
vsftpd@’172.16.%.%’ IDENTIFIED BY ‘magedu’;
ftp服务和mysql在同一主机:
mysql> GRANT SELECT ON vsftpd.* TO
vsftpd@localhost IDENTIFIED BY ‘magedu’;
mysql> GRANT SELECT ON vsftpd.* TO
vsftpd@’127.0.0.1′ IDENTIFIED BY ‘magedu’;
mysql> FLUSH PRIVILEGES;
mysql> USE vsftpd;
Mysql> SHOW TABLES;
mysql> CREATE TABLE users ( id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,name CHAR(50) BINARY NOT NULL,password CHAR(48) BINARY NOT NULL);
mysql>DESC users;
mysql -uvsftpd -h 172.16.200.200 -pmagedu
mysql> SHOW DATABASES;
根据需要添加所需要的用户,为了安全应该使用PASSWORD函数加密其密码后存储
mysql>DESC users;
mysql> INSERT INTO users(name,password) values(‘wang’,password(‘magedu’));
mysql> INSERT INTO users(name,password) values(‘mage’,password(‘magedu’));
mysql> SELECT * FROM users;
vi /etc/pam.d/vsftpd.mysql
添加如下两行
auth required pam_mysql.so user=vsftpd passwd=magedu host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=magedu host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
注意:参考README文档,选择正确的加密方式crypt是加密方式,0表示不加密,1表示crypt(3)加密,2表示使用mysql password()函数加密,3表示md5加密,4表示sha1加密
配置字段说明
auth 表示认证 account 验证账号密码正常使用 required 表示认证要通过 pam_mysql.so模块是默认的相对路径,是相对/lib64/security/路径而言,也可以写绝对路径;后面为给此模块传递的参数 user=vsftpd为登录mysql的用户 passwd=mageedu 登录mysql的的密码 host=localhost 在mysql中定义的允许连接的主机名或ip地址 db=vsftpd 连接msyql的哪一个库 table=users 连接库里的哪一个表 usercolumn=name 当做用户名的字段 passwdcolumn=password 当做用户名字段的密码 crypt=2 密码的加密方式为mysql password()函数加密使其适应mysql认证
建立虚拟用户映射的系统用户及对应的目录
useradd -s /sbin/nologin -d /var/ftproot vuser
chmod 555 /var/ftproot centos7 需除去ftp根目录的写权限
mkdir /var/ftproot/{upload,pub}
setfacl –m u:vuser:rwx /var/ftproot/upload
确保/etc/vsftpd.conf中已经启用了以下选项
anonymous_enable=YES
添加下面两项
guest_enable=YES
guest_username=vuser
修改下面一项,原系统用户无法登录
pam_service_name=vsftpd.mysql
service vsftpd start;systemctl start vsftpd
chkconfig vsftpd on;systemctl enable vsftpd
查看端口开启情况
netstat -tnlp |grep :21
restorecon -R /lib64/security
setsebool -P ftpd_connect_db 1
setsebool -P ftp_home_dir 1
chcon -R -t public_content_rw_t /var/ftproot/
tail /var/log/secure
vsftpd可以在配置文件目录中为每个用户提供单独的配置文件以定义其ftp服务访问权限,每个虚拟用户的配置文件名同虚拟用户的用户名。配置文件目录可以是任意未使用目录,只需要在vsftpd.conf指定其路径及名称即可
vim /etc/vsftpd/vsftpd.conf
添加如下选项
user_config_dir=/etc/vsftpd/vusers_config
并为虚拟用户提供配置文件
mkdir /etc/vsftpd/vusers_config/
cd /etc/vsftpd/vusers_config/
touch wangmage
虚拟用户对vsftpd服务的访问权限是通过匿名用户的相关指令进行的。如果需要让用户wang具有上传文件的权限,可以修改/etc/vsftpd/vusers_config/wang文件,在里面添加如下选项并设置为YES即可,只读则设为NO
注意:需确保对应的映射用户对于文件系统有写权限
anon_upload_enable={YES|NO}
anon_mkdir_write_enable={YES|NO}
anon_other_write_enable={YES|NO}
h3c模拟器(网络虚拟环境配置工具) 1.5.2 正式版
59.1M
虚拟声卡下载
1.97MB
虚拟视频软件(虚拟视频媒体播放器) V8.0.7.2 电脑版
24.94 MB
MVBOX虚拟视频下载
19.04 MB
VirtualBox虚拟机下载
108.47MB
daemon tools v3.47(虚拟光驱工具)中文版
485KB
dopdf v7 虚拟打印机 v7.3 绿色中文版
64.72M
pdfcreator(PDF虚拟打印工具)v4.3.0 破解版
31.2M
virtual drive manager(虚拟驱动器管理工具) V1.32 绿色版
0.21MB
win7虚拟光驱(虚拟光驱应用软件)V1.0 绿色版
1.3M
酒精120%(虚拟光盘刻录软件)v2.1.0.20601 破解版
38.9M
HeidiSQL下载
10.1M
Oracle VM VirtualBox下载
538.39MB
pdf creator下载
3 MB
putty 下载
2.7MB
winmount下载
3.87MB
谷歌地球下载
52.3M
2020-02-12
手机保修期如何计算
扬天万利卡可移动磁盘盘符内文件丢失或者损坏解决方案
Q110连接数字电视时画面超出屏幕范围,如何解决?
Lenovo笔记本电脑如何使用指纹登录到需要用户帐号的应用程序或网站
ThinkPad -- Intel(R) PRO/10/100/1000以太网卡驱动程序安装方法(Windows 2000/XP)
Windows关机慢或时间很长
Ubuntu 16.04使用Nginx安装HTTP Git服务器
Win7系统下如何使用蓝牙耳机收听音乐
装不了Win7?采用第六代酷睿处理器的电脑改装Win7的方法