web-dev-qa-db-ja.com

MySQLバックエンドでSSHユーザーを管理する

/ etc/passwdの代わりに(mysql)データベースを使用してSSHログイン資格情報を管理する可能性はありますか?

LDAPを使用できることはわかっていますが、単純なユーザー管理のみが必要であり、LDAPはこのジョブでは少し圧倒されているようです。

7
W0bble

はい。 Linux認証は、1つの認証バックエンドから別の認証バックエンドへの簡単な切り替えを可能にするプラグ可能な認証モジュール(PAM)に基づいています。 MySQLの対応するユーザーデータベースを使用して、PAM MySQLモジュールをインストールして構成するだけです。

プリコンパイルされたパッケージは、RHEL/CentOSの [〜#〜] epel [〜#〜] アーカイブでpam_mysqlとして利用できます。pam-mysqlパッケージはDebianで利用できるはずです。/Ubuntu。

10
HBruijn

PAM-MySQLはログイン認証情報を管理できますが、認証部分のみを処理するため、不完全なソリューションです。システム上にユーザーアカウントは作成されません。例えば:

言い換えれば、PAM-MySQLは/etc/shadowの代わりであり、/etc/passwdの代わりではありません。ユーザーごとに/etc/passwdエントリの両方のMySQLエントリを作成するか、PAM-MySQLに NSS MySQL

LDAPは、ユーザーアカウント情報を一元化できるため、実際にこのジョブに適したツールです。私はそれが圧倒されているとは思わない。むしろ、ユーザーアカウントを管理するために特別に設計された一種のデータベースであるため、非標準システムをMySQLでハッキングするのではなく、LDAPを標準ソリューションとして使用するのがベストプラクティスです。 OpenLDAPまたは389Directory Serverは、MySQLよりも適切なユーザーデータベースです。 (必要に応じて、どちらもSQLバックエンドを使用するように構成できます。)

4
200_success