MySql 認証に基づく vsftpd 仮想ユーザー

MySql 認証に基づく vsftpd 仮想ユーザー

1. MySQLのインストール

yum -y 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,
名前 CHAR(50) BINARY NOT NULL,
パスワード CHAR(48) BINARY NOT NULL);
ユーザーにINSERT INTO(名前、パスワード)、値('qiu'、パスワード('123456'))。
ユーザーにINSERT INTO(名前、パスワード)、値('zhang'、パスワード('654321'));"
mysql -e "vsftpd.users から * を選択します。"

ここに画像の説明を挿入

1.3 リモート接続アカウントを作成する

mysql -e "'Pana#123' で識別されるユーザー vsftpd@'192.168.31.%' を作成します。"
mysql -e "vsftpd.* のすべての権限を vsftpd@'192.168.31.%' に付与します。"

2. FTPサーバーをインストールする

2.1 vsftpdをインストールする

yum インストール -y vsftpd

2.2 pam_mysqlをインストールする

yum -y インストール vsftpd gcc gcc-c++ mariadb-devel pam-devel を作成します
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 
インストールする

2.2 PAM認証に必要なファイルを作成する

cat > /etc/pam.d/vsftpd.mysql<<EOF
認証が必要です pam_mysql.so ユーザー=vsftpd パスワード=Pana#123 ホスト=mysqlserver db=vsftpd テーブル=users ユーザー列=名前 パスワード列=パスワード crypt=2
必要なアカウント pam_mysql.so user=vsftpd passwd=Pana#123 host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
終了

注: 上記はREADMEドキュメントを参照しています
暗号方式:
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 -mu:vuser:rwx /data/ftproot/upload

2.4 vsftpd設定ファイルを変更する

/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 仮想ユーザーに関するその他の関連コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • PureFTPd+Mysql+PHP_Manager で仮想ユーザーディスククォータ設定方法を実装する

<<:  Taobao ストアでズームインする効果は、スライドショーを使用する原理に似ています。

>>:  Nginx での SSL 証明書のインストールと展開手順の概要

推薦する

HTML_PowerNode 入門 Java アカデミー

HTMLとは何ですか? HTML は Web ページを記述するために使用される言語です。 HTML ...

Linuxはバイナリモードを使用してmysqlをインストールします

この記事では、LinuxにバイナリモードでMySQLをインストールする具体的な手順を参考までに紹介し...

Vueタイムラインコンポーネントの使い方

この記事の例では、参考までにvueタイムラインコンポーネントの具体的な実装コードを共有しています。具...

Linux dirnameコマンドの具体的な使い方

01. コマンドの概要dirname - ファイル名からディレクトリ以外のサフィックスを削除しますd...

MySQLトリガーの例の詳細な説明

目次トリガーとは何かトリガーを作成する複数の実行ステートメントを持つトリガーの作成制限と考慮事項要約...

vuexプロジェクトにおけるログインステータス管理の実践プロセス

目次道具:ログインシナリオ:練習する:シナリオ1: 思考と実践シナリオ2: 思考と実践要約する道具:...

モバイル アプリのユーザー インターフェース設計に関する 10 のヒント

ヒント1: 集中力を保つ最高のモバイル アプリは、1 つのことを非常にうまく行うことに重点を置いてい...

フォームの読み取り専用属性と無効な属性についての簡単な説明

フォーム内の読み取り専用および無効な属性1. 読み取り専用:サーバーは、ユーザーがデータを変更するこ...

Vue プロジェクトで SVG コンポーネントをパッケージ化して構成する手順

最近新しい会社に入社しました。プロジェクトに携わった後、タイトルアイコンが svg で作られていると...

HTML 選択オプションの基本的な理解と使用

JavaScript での HTML (選択オプション) の詳細な説明1. 基本的な理解:コードをコ...

MySQL マルチテーブルクエリ例の詳しい解説 [リンククエリ、サブクエリなど]

この記事では、例を挙げて MySQL のマルチテーブル クエリについて説明します。ご参考までに、詳細...

MySQL 5.7.24 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

この記事では、参考までにMySQL 5.7.24圧縮パッケージのインストールチュートリアルを紹介しま...

Centos に PHP7.4 と Nginx をインストールする方法

準備する1. 必要なインストールパッケージをダウンロードするhttps://www.php.net/...

Nginx の Docker インストールの問題とエラー分析

質問: DockerにNginxをインストールするときに次のエラーが発生しました: docker: ...

インラインブロックを使用した複数のdiv間の間隔はプログラミング方法とは異なります

inline-block について学習しているときに、境界線と inline-block を持つ複数...