基於MySql驗證的vsftpd虛擬用戶
1. Mysql安裝
yum -y install mariadb-server systemctl enable --now mariadb.service
1.2 建表建庫建用戶
mysql -e "CREATE DATABASE vsftpd;USE vsftpd; CREATE TABLE users (id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, name CHAR(50) BINARY NOT NULL, password CHAR(48) BINARY NOT NULL); INSERT INTO users(name,password) values('qiu',password('123456')); INSERT INTO users(name,password) values('zhang',password('654321'));" mysql -e "select * from vsftpd.users;"
1.3 創建遠程連接賬戶
mysql -e "create user vsftpd@'192.168.31.%' identified by 'Pana#123';" mysql -e "grant all on vsftpd.* to vsftpd@'192.168.31.%';"
2. 安裝FTP服務器
2.1 安裝vsftpd
yum install -y vsftpd
2.2 安裝pam_mysql
yum -y install vsftpd gcc gcc-c++ make mariadb-devel pam-devel wget http://prdownloads.sourceforge.net/pam-mysql/pam_mysql-0.7RC1.tar.gz tar xf pam_mysql-0.7RC1.tar.gz cd pam_mysql-0.7RC1/ ./configure --with-pam-mods-dir=/lib64/security make install
2.2 建立pam認證所需文件
cat > /etc/pam.d/vsftpd.mysql<<EOF auth required pam_mysql.so user=vsftpd passwd=Pana#123 host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 account required pam_mysql.so user=vsftpd passwd=Pana#123 host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 EOF
註意:以上參考 README文檔
crypt 加密方式:
0表示不加密
1表示crypt(3)加密
2表示使用mysql password()函數加密
3表示md5加密
4表示sha1加密
2.3 建立vsftpd用戶
mkdir -pv /data/ftproot/upload useradd -d /data/ftproot -s /sbin/nologin -r vuser setfacl -m u:vuser:rwx /data/ftproot/upload
2.4 修改vsftpd配置文件
mkdir /etc/vsftpd/conf.d/ sed -Eri "s#(pam_service_name=vsftpd)#\1.mysql#" /etc/vsftpd/vsftpd.conf echo "guest_enable=YES" >> /etc/vsftpd/vsftpd.conf echo "guest_username=vuser" >> /etc/vsftpd/vsftpd.conf
2.5 重啟vsftpd服務
systemctl enable --now vsftpd
到此這篇關於基於MySql驗證的vsftpd虛擬用戶的文章就介紹到這瞭,更多相關MySql vsftpd虛擬用戶內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- CentOS7環境中DHCP配置教程
- Docker案例分析:搭建MySQL數據庫服務
- Docker部署Mysql8的實現步驟
- 編譯安裝 vsFTP 3.0.3的詳細解析
- 教你使用VS Code的MySQL擴展管理數據庫的方法