« Ubuntu-SSHのインストールと設定 | トップページ | Ubuntu-apacheのインストール »

Ubuntu-ProFTPdのインストールと設定

FTPサーバはproftpdをインストール。
インストール方法が色々なページに書かれているので、自分の環境で行ったことのまとめ。

【環境】
eeeUbuntu 8.10
Ubuntu 日本語Remix 9.04

【インストールバージョン】
ProFTPd Version 1.3.1

【情報源】
ProFTPd(本家)
ProFTPd(日本)- 情報古いけどここで良いのかな?

【インストール】
# sudo apt-get install proftpd

--- memo ---
以下の特別パッケージがインストールされます:
  libcap1 libmysqlclient15off libpq5 mysql-common proftpd-basic
  proftpd-mod-ldap proftpd-mod-mysql proftpd-mod-pgsql
提案パッケージ:
  proftpd-doc
以下のパッケージが新たにインストールされます:
  libcap1 libmysqlclient15off libpq5 mysql-common proftpd proftpd-basic
  proftpd-mod-ldap proftpd-mod-mysql proftpd-mod-pgsql
アップグレード: 0 個、新規インストール: 9 個、削除: 0 個、保留: 0 個。
3722kB のアーカイブを取得する必要があります。
この操作後に追加で 8057kB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://jp.archive.ubuntu.com jaunty/main libcap1 1:1.10-14build1 [9156B]
取得:2 http://jp.archive.ubuntu.com jaunty/main mysql-common 5.1.30really5.0.75-0ubuntu10 [62.7kB]
取得:3 http://jp.archive.ubuntu.com jaunty/main libmysqlclient15off 5.1.30really5.0.75-0ubuntu10 [1842kB]
取得:4 http://jp.archive.ubuntu.com jaunty/main libpq5 8.3.7-1 [297kB]
取得:5 http://jp.archive.ubuntu.com jaunty/universe proftpd-basic 1.3.1-17ubuntu1 [697kB]
取得:6 http://jp.archive.ubuntu.com jaunty/universe proftpd-mod-mysql 1.3.1-17ubuntu1 [203kB]
取得:7 http://jp.archive.ubuntu.com jaunty/universe proftpd-mod-pgsql 1.3.1-17ubuntu1 [203kB]
取得:8 http://jp.archive.ubuntu.com jaunty/universe proftpd-mod-ldap 1.3.1-17ubuntu1 [213kB]
取得:9 http://jp.archive.ubuntu.com jaunty/universe proftpd 1.3.1-17ubuntu1 [195kB]
3722kB を 1s で取得しました (2232kB/s)
パッケージを事前設定しています ...
未選択パッケージ libcap1 を選択しています。
(データベースを読み込んでいます ... 現在 100198 個のファイルとディレクトリがインストールされています。)
(.../libcap1_1%3a1.10-14build1_i386.deb から) libcap1 を展開しています...
未選択パッケージ mysql-common を選択しています。
(.../mysql-common_5.1.30really5.0.75-0ubuntu10_all.deb から) mysql-common を展開しています...
未選択パッケージ libmysqlclient15off を選択しています。
(.../libmysqlclient15off_5.1.30really5.0.75-0ubuntu10_i386.deb から) libmysqlclient15off を展開しています...
未選択パッケージ libpq5 を選択しています。
(.../libpq5_8.3.7-1_i386.deb から) libpq5 を展開しています...
未選択パッケージ proftpd-basic を選択しています。
(.../proftpd-basic_1.3.1-17ubuntu1_i386.deb から) proftpd-basic を展開しています...
未選択パッケージ proftpd-mod-mysql を選択しています。
(.../proftpd-mod-mysql_1.3.1-17ubuntu1_i386.deb から) proftpd-mod-mysql を展開しています...
未選択パッケージ proftpd-mod-pgsql を選択しています。
(.../proftpd-mod-pgsql_1.3.1-17ubuntu1_i386.deb から) proftpd-mod-pgsql を展開しています...
未選択パッケージ proftpd-mod-ldap を選択しています。
(.../proftpd-mod-ldap_1.3.1-17ubuntu1_i386.deb から) proftpd-mod-ldap を展開しています...
未選択パッケージ proftpd を選択しています。
(.../proftpd_1.3.1-17ubuntu1_all.deb から) proftpd を展開しています...
man-db のトリガを処理しています ...
libcap1 (1:1.10-14build1) を設定しています ...

mysql-common (5.1.30really5.0.75-0ubuntu10) を設定しています ...
libmysqlclient15off (5.1.30really5.0.75-0ubuntu10) を設定しています ...

libpq5 (8.3.7-1) を設定しています ...

proftpd-basic (1.3.1-17ubuntu1) を設定しています ...
システムユーザ `proftpd' (UID 113) を追加しています...
新しいユーザ `proftpd' (UID 113) をグループ `nogroup' に追加しています...
ホームディレクトリ `/var/run/proftpd' は作成しませんでした.
システムユーザ `ftp' (UID 114) を追加しています...
新しいユーザ `ftp' (UID 114) をグループ `nogroup' に追加しています...
ホームディレクトリ `/home/ftp' を作成しています...
`/usr/share/proftpd/templates/welcome.msg' -> `/home/ftp/welcome.msg.proftpd-new'
* Starting ftp server proftpd                                           [ OK ]

proftpd-mod-mysql (1.3.1-17ubuntu1) を設定しています ...
proftpd-mod-pgsql (1.3.1-17ubuntu1) を設定しています ...
proftpd-mod-ldap (1.3.1-17ubuntu1) を設定しています ...
proftpd (1.3.1-17ubuntu1) を設定しています ...
libc6 のトリガを処理しています ...
ldconfig deferred processing now taking place

-------------
→ ユーザがいくつか勝手に作られた。
→ インストール中に以下の画面が表示される。
  用途次第だが、スタンドアロンを選択。

Proftpd01_3


【設定】

(1) 設定ファイルの編集
# sudo vi /etc/proftpd/proftpd.conf

以下、変更を行った箇所について記載。

DefaultRoot ~
 ルートディレクトリの設定。ユーザのホームディレクトリをルートに設定して、
 ユーザ毎にアクセス先を分けるので有効にする。

<Anonymous ~ftp>
 匿名アクセス時の設定。匿名アクセスは許可しないのでセクション毎まとめて
 コメントアウトする。(デフォルトのままとする)

AllowStoreRestart on
AllowRetrieveRestart on
DeleteAbortedStores off
 ファイルダウンロード・アップロード時にレジュームを許すか。
 上記の通り許可するように設定。

AllowForeignAddress on
IdentLookups off
UseReverseDNS off
  クライアントの名前解決を行うか。
 無効にすることでログインが早くなる。

TimesGMT off
SetEnv TZ JST-9
 サーバ側時間設定。JSTにする。

DisplayLogin .welcome_ftp.msg
  ログイン時のメッセージファイル。デフォルトの「welcome.msg」から
 "."付きの名前に変更。

(2) FTP用ユーザの作成
・[システム]→[システム管理]→[ユーザとグループ]からユーザを作成。
・passwdファイルを編集する。
  # sudo vi /etc/passewd
  ftpuser:x:1009:1009:ftpuser,,,,:/directory:/bin/false
  → ホームディレクトリをFTPルートにしたいパスに変更。
 → ローカルログインは許可しないので、ログインシェルをfalseに変更。

(3) メッセージファイルの編集
・ユーザのホームディレクトリに、.welcome_ftp.msgを作成。
  # touch [homedir]/.welcome_ftp.msg
・中身を任意に編集

(4) アクセス制御ファイルの確認
・/etc/ftpusersファイルと/etc/passwdファイルを確認し、意図しないユーザが
  ログインできるようになっていないか確認。
 → ftpusersファイルに記載されているユーザはFTPログインできない。

(5) 再起動
# sudo /etc/init.d/proftpd restart

【補足・その他】
・セキュリティを考えると当然なのかもしれないけれど、
 実体がホームディレクトリ配下にないシンボリックリンクは参照できない。
 例えば、
  ・ホームディレクトリが/home/ftpusers
 ・/home/ftpusers/aaaは、/aaaへのシンボリックリンク
 のような場合は参照不可。

  / ---
     |
     --- aaa
     |
     --- home
         |
         --- ftpusers
              |
              --- aaa ← ここはアクセス不可

 こんな場合を回避するには、mountコマンドを使う。
  # mount --bind olddir newdir
 
  以下、"man mount"の抜粋。--bind というオプションは知りませんでした。
 --- man mount ---
  Linux  2.4.0 以降では、ファイル階層の一部をどこか別の場所に再マウント
  することができる。使い方は以下の通りである。
    mount --bind olddir newdir
  この呼び出しの後、同じ内容を 2 つの場所でアクセスできる。
  1つのファイルを (1 つのファイル上に) 再マウントすることもできる。
  ----------------- 

・ログローテーションは、apacheを入れてから考えることにする。

|

« Ubuntu-SSHのインストールと設定 | トップページ | Ubuntu-apacheのインストール »

Ubuntu (Linux)」カテゴリの記事

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/219783/43044358

この記事へのトラックバック一覧です: Ubuntu-ProFTPdのインストールと設定:

« Ubuntu-SSHのインストールと設定 | トップページ | Ubuntu-apacheのインストール »