proftpdではパスワード認証のファイルは /etc/passwd /etc/shadow を利用しますがセキュリティのため別ファイルにて管理する方法を解説します。
外部ファイルにすることでFTPのみの仮想ユーザも作成でき便利です。
proftpdのインストールは Proftpd標準インストール を参照ください。
proftpdではパスワード認証のファイルは /etc/passwd /etc/shadow を利用しますがセキュリティのため別ファイルにて管理する方法を解説します。
外部ファイルにすることでFTPのみの仮想ユーザも作成でき便利です。
proftpdのインストールは Proftpd標準インストール を参照ください。
proftpd.confに追加する項目は以下の記述のみです。
AuthUserFile /usr/local/proftpd/etc/ftpd.passwd AuthGroupFile /usr/local/proftpd/etc/ftpd.group AuthOrder mod_auth_file.c
AuthUserFile : 専用ユーザファイルの場所
AuthGroupFile : 専用グループファイルの場所
AuthOrder : 認証する方法を指定できます。mod_auth_file.c 以外に
mod_auth_unix / mod_ldap / mod_radius / mod_sql があります。
では早速、専用パスワードファイルを作成しましょう。
設置場所によって違いますが今回は上記で指定しました。
/usr/local/proftpd/etc/ftpd.passwd
/usr/local/proftpd/etc/ftpd.group
を例にとって説明しています。
vi等のエディッタで/etc/passwdのようなファイルを作成してもよろしいですが、proftpdソースを展開した中(展開ソース/contrib/以下)に ftpasswd というツールがありますのでそれを利用しましょう。
(1) ユーザファイルを作成
【書式】
ftpasswd --passwd --file=ユーザファイルの場所 --name=ユーザ名 --uid=ユーザID \
--gid=グループID --home=ホームディレクトリ --shell=シェル
# cd 展開したソース/contrib/
# ./ftpasswd --passwd --file=/usr/local/proftpd/etc/ftpd.passwd --name=hoge \
--uid=500 --gid=100 --home=/home/hoge --shell=/bin/bash
ftpasswd: using alternate file: /usr/local/proftpd/etc/ftpd.passwd
ftpasswd: creating passwd entry for user hoge
Password: <- パスワード入力
Re-type password: <- 再度パスワード入力
ftpasswd: entry created
これでhogeというユーザが作成されたことになります。
ここで指定するuid,gidは必ず、システムのパスワードに存在するIDを当ててください。ファイルをPUTしたときの権限になりますので。。。
(2) グループファイルを作成
【書式】
ftpasswd --group --file=グループファイルの場所 --name=グループ名 --gid=グループID
# cd 展開したソース/contrib/
# ./ftpasswd --group --file=/usr/local/proftpd/etc/ftpd.group
--name=users --gid=100
ftpasswd: creating group entry for group users
ftpasswd: entry created
これでgid 100 でusersというグループが出来ました。
あとは、proftpdを再起動すれば作成したユーザのみFTP出来るようになります。
この機能を使えば同じホームディレクトリにFTP-IDを複数作ったり色々出来ますね。
SupportDeskパック Standard24(Linuxサポート付)3年[カスタムメイド対応] / |
|
SupportDeskパック Standard(Linuxサポート付)4年[カスタムメイド対応] / |
|
SupportDeskパック Standard24(Linuxサポート付)4年[カスタムメイド対応] / |