このWebサイト ひつじ帳 は、管理者がWEB関連の技術をまとめた備忘録サイトです。 Linux,CentOS,PHP,MySQL,Blogger,JavaScript,CSS について記録しています。

CentOS-5/vsftpd(仮想ユーザ)

[ CentOS/FTPサーバ ]

vsftpd インストール確認


[root@linux ~]# yum list | grep db4-utils
[root@linux ~]#          ← 何も出てこなければインストールされていない
[root@linux ~]# yum install db4-utils  ←■ db4-utils インストール
[root@linux ~]# yum install db4  ←■ db4 インストール(必要かも?)
[root@linux ~]# yum install compat-db  ←■ compat-db インストール(必要かも?)

~ 中略 ~

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size 
=============================================================================
Installing:
 db4-utils               i386       4.3.29-9.fc6     base              119 k

Transaction Summary
=============================================================================
Install      1 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         

Is this ok [y/N]: y
Downloading Packages:
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: db4-utils                    ######################### [1/1] 

Installed: db4-utils.i386 0:4.3.29-9.fc6
Complete!
[root@linux ~]#

バーチャルユーザ・データベースの作成

PAMモジュールのpam_userdbを使用してバーチャルユーザ認証を行う為、
以下の手順でPAM関連の設定を行います。

ユーザ名/パスワードを記載したテキストファイルの作成

/etc/vsftpd/logins.txtファイルを作成する。

ユーザ1
ユーザ1のパスワード
ユーザ2
ユーザ2のパスワード
   :
   :
   :

ここでは、以下の様なファイルを作成した。

user1
user1pass
user2
user2pass

ユーザ名/パスワードデータベースの作成

/etc/vsftpd/vsftpd_login.dbを作成する。 以下を実行し、先ほど作成した/etc/vsftpd/logins.txtを元にDBを作成する。

[root@linux ~]# db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
[root@linux ~]# chmod 600 /etc/vsftpd/vsftpd_login.db

PAM設定ファイルの作成

インストール時、デフォルトで/etc/pam.d/vsftpd という vsftpdのPAM設定ファイルがあります。
ここではこの設定ファイルは使わずに、新たに/etc/pam.d/vsftpd2として新規に作成する。
/etc/pam.d/vsftpd2の内容は以下です。

auth required     /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required  /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

[root@linux vsftpd]# /etc/rc.d/init.d/vsftpd restart
vsftpd を停止中:                                           [  OK  ]
vsftpd 用の vsftpd を起動中:                               [  OK  ]
[root@linux vsftpd]#

0 件のコメント:

人気記事

このブログを検索