pure-ftpd
fedoraでのpure-ftpdの設定。
fedoraと言えばvsftpdかもしれないが、very secureというだけあって堅い。しかし、使いづらい。
ってことで、gentooの頃も使っていたpure-ftpdを利用する。
こういう選択はいいものを選ぶ目はgentooの方がうまいと思う。
pure-ftpdはUNIXアカウントがなくてもバーチャルアカウント(というのか?)でFTP接続が可能。これがありがたい。
FTPしか使わないのにUNIXアカウントを無駄に発行したくないし、管理するのも大変だろうから。
このバーチャルアカウントはあるUNIXアカウントで接続する。
例えば、UNIXアカウントのstaffユーザを作成しておく。
しかし、FTPの接続アカウントはuser1, user2, user3, …みたいにstaffアカウントを使いまわすことが出来る。
普通にUNIXアカウント認証や認証にMySQLやPostgreSQLも使えるようだが、PureDBを使うのがお手軽。
yum -y install pure-ftpd
インストール完了♪
2. 設定ファイルを編集
設定ファイルである/etc/pure-ftpd/pure-ftpd.confを編集する。
diff風に書くとこんな感じ。
< Daemonize yes
> # Daemonize yes< # PureDB /etc/pure-ftpd/pureftpd.pdb
> PureDB /etc/pure-ftpd/pureftpd.pdb< PAMAuthentication yes
> # PAMAuthentication yes< # IPV4Only yes
> IPV4Only yes
簡単に説明を書く。
Daemonize: デーモンかするか?サービスとしてあげる(/etc/init.d/pure-ftpd)ならデーモンかするが、xinetdを使う場合はデーモン化しない。
PureDB: pure-ftpdのDBを利用する。
PAMAuthentication: PAM認証は行わない。
IPV4Only: IPv6は使わないので、IPv4だけでOK。
3. FTP接続ユーザを作成
FTP接続用のUNIXアカウントを作成する。実際はこのアカウントでは接続しないところに注意。
useradd -g users -d /share share
続いて、FTPユーザを作成する。
pure-pw useradd user1 -u share -g users -d /share -m
user1というFTPユーザで接続した場合、shareユーザでusersグループとなる。ホームディレクトリは/shareの意味。
-mはユーザを作成と同時にDBを更新するオプション。-mを付け忘れたらpure-pw mkdbとしてDBを更新する。
初期設定でchrootされているので、/share以外からは出られないのでセキュリティ面も安心。
4. xinetdでの起動設定
/etc/xinetd.d/pure-ftpdを編集。
< disable = yes
> # disable = yes
これだけ。
アクセス制限をかけたいのであれば、only_from = 192.168.0.0/24みたいなのを足しておけばよい。
5. xinetdを再起動
/etc/init.d/pure-ftpd statusでpure-ftpdが落ちていることを確認。
/etc/init.d/xinetd restart
これは俺のためか?俺のためなのか??
つかめんどいんだってば・・・
7月 18th, 2007 at 02:00
tokitsuさんのためですよ!
(半分は忘れたときのためですが)
コマンドプロンプトからはつながるのに、なぜかFileZillaからつながない・・・
7月 18th, 2007 at 09:08
[...] FTPがうまくつながらないせいで少しは覚えてしまいそうだ (^^; [...]
7月 20th, 2007 at 00:03