pam-mysqlを使って仮想FTPサーバを構築する:Leverage OSS(3/3 ページ)
バックエンドにデータベースを持つ仮想FTPサーバを構築することには多くの利点がある。ここでは、pam-mysqlを使って仮想FTPサーバを構築する方法を紹介する
MySQLの設定が完了したら、次はvsftpdのPAM認証用の設定ファイルである/etc/pam.d/vsftpdを設定しよう。以下のような内容を/etc/pam.d/vsftpdに追加する。
auth required /lib/security/pam_mysql.so user=root passwd=1wdv5rdxcvb host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime
account required /lib/security/pam_mysql.so user=root passwd=password host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime
pam-mysql PAMモジュールの主なパラメータは次の通りだ。
- host:MySQLデータベースサーバのIPアドレスまたはホスト名。上の例では「localhost」になっているが、これはvsftpdと同じサーバ上にあることを意味する
- db:vsftpdサーバのユーザー情報を保存しているデータベース名。例では「vsftpd」となっている
- user:vsftpdユーザーデータベースにアクセスできるユーザー。例では「root」ユーザーになっている
- passwd:vsftpdデータベースのパスワード
- table:vsftpdのユーザー情報を保存しているテーブル名。例では「users」になっている
MySQL-Adminは、シンプルで設定も簡単な、PHPベースのMySQLデータベース用管理ツールだ。設定は、サーバのURL(例ではhttp://localhost)をWebブラウザで閲覧して、ブラウザに表示される指示に従って各ステップを完了すればよいだけだ。それが完了すれば、http://localhostにアクセスすればMySQLデータベースサーバにログインできるようになる。ログインすれば、必要に応じてユーザーの挿入/削除/更新などの操作をすることができる。
「service vsftpd start」を実行すると、仮想FTPサーバが使用可能になる。仮想FTPサーバを停止/再起動したい場合には「service vsftpd (stop|restart)」を実行する。ほかのFTPサーバの場合と同様に、ユーザーは好きなFTPクライアントを使用してサーバにアクセスできる。
以上で、FTPユーザーのユーザー情報をMySQLデータベースに一元的に保存できるようになった。FTPユーザーを削除したり更新したり一時的に無効にしたりすることも、/etc/passwdに触れることなく簡単に行うことができるようになった。またFTPサーバのユーザー名として電子メールアドレスを使えば、どのユーザーが何をダウンロードしたのかを簡単に追跡できるようになる。これは大企業の管理者などにとっては便利かもしれない。
関連記事
- ユーザーの実行権限を柔軟に割り当てるsudoのリスクとメリット
rootパスワードを公開することなくアクセス範囲を最小限化した上で必要な権限を一般ユーザーに与えられるsudo。ここではsudoについてそのリスクとメリット、そして柔軟なシステム運用に役立てるための幾つかのTIPSを紹介しよう。 - ratpoison――X用コマンドラインインタフェース
コマンドラインの効率性とXの良さを組み合わせられる、ratpoisonというGNU Screenに似たキーボードドリブンインタフェースを持つウィンドウマネージャを紹介しよう。作業に集中したい方にはお勧めだ。 - Linuxのスワップ処理を最適化するためのヒント
Linuxシステムにおけるスワップ処理の効率化とスワップ処理サブシステムのパフォーマンス最適化につながるテクニックを紹介する。 - 環境変数によるロケールの管理
各種言語をサポートするためにLinuxがロケールをどのように用いるのかを紹介しよう。ロケールを理解しておくことは、英語しか使わない場合でも役に立つことがある。
Copyright © 2010 OSDN Corporation, All Rights Reserved.