Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (4,208)  
HandBrake Japanese Language Version  (3,353)  
CrystalDiskInfo  (1,743)  
CotEditor  (1,120)  
CrystalDiskMark  (866)  
Boookends  (788)  
SMPlayer  (642)  
えこでこツール  (599)  
Tera Term  (595)  
10  FFFTP  (579)  
11  Cabos  (530)  
12  BathyScaphe  (494)  
13  ffdshow  (481)  
14  MergeDoc  (464)  
15  ギコナビ  (438)  
More >>

最近ブックマークされた記事

pam-mysqlを使って仮想FTPサーバを構築する

2008年02月25日 11:20 Cunpeng-Wang(2008年2月8日(金)) 1 2 3

インストールと設定

 CentOSのインストールとパッケージのインストールは簡単だ。インストールが完了したらルートユーザとしてログインして、コマンドラインで「rpm -ivh pam_mysql-0.5-1.i586.rpm」を実行してpam-mysqlをインストールする。MySQL-Adminを利用するためには、圧縮されたアーカイブを展開して、デフォルトのウェブページ置き場である/var/www/htmlにすべてのコンテンツをコピーすれば良い。なおMySQL-AdminはPHPプログラムなので、実行/解釈するためにはApacheとPHPを利用できるようにしておく必要がある。

 Apache、vsftpd、MySQLの各サービスは、仮想FTPサーバの設定を始める前に起動しておく必要がある。各サービスの起動と、毎日確実に起動するための設定には、ルートとして以下のコマンドを実行する。

# service (httpd | vsftpd | mysqld) start
# chkconfig --levels 2345 (httpd | vsftpd | mysqld) on

 それでは「mysql」コマンドをオプションなしで実行してMySQLサーバにアクセスしよう。なおデフォルトではルートユーザのパスワードはない。次に以下のようなSQL文を実行して、データベースとテーブルを作成する。

mysql> create database vsftpd;
mysql> use vsftpd;
mysql> create table users
-> id int AUTO_INCREMENT NOT NULL,
-> name char(128) binary NOT NULL,
-> passwd char(128) binary NOT NULL,
-> primary key(id)
-> );
mysql> create table logs (msg varchar(255),
-> user char(128),
-> pid int,
-> host char(128),
-> rhost char(128),
-> logtime timestamp
-> );

 以上でFTPサーバ用のvsftpdデータベースを作成することができた。このデータベースには、FTPユーザを保存するための「users」テーブルとログイン関連の情報を記録するための「logs」テーブルという2つのテーブルがある。それでは次にusersテーブルにユーザを挿入しよう。以下に例を示す。

mysql>insert into users (name,passwd) values('tom@cn.oracle.com',password('foo'));
mysql> insert into users (name,passwd) values('jerry@us.sun.com',password('bar'));
mysql> select * from users;
+----+-------+-------------------------------------------+
| id | name | passwd |
+----+-------+-------------------------------------------+
| 1 | tom@cn.oracle.com | *F3A2A51A9B0F2BE2468926B4132313728C250DBF |
| 2 | jerry@us.sun.com | *E8D46CE25265E545D225A8A6F1BAF642FEBEE5CB |
+----+-------+-------------------------------------------+

 上記から分かるように、fooという暗号化パスワードを持つtom@cn.oracle.comと、barという暗号化パスワードを持つjerry@us.sun.comという2人のユーザをusersテーブルに挿入した。デフォルトではルートユーザのパスワードはないのだが、パスワードを持たないままのデータベースは脆弱なので、パスワードを作成する必要がある。以下のようなコマンドを実行すればパスワードを設定することができる。

mysql>grant all on *.* to root@localhost Identified by "password";

最終更新:2008年04月26日 17:07