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
-------------
→ ユーザがいくつか勝手に作られた。
→ インストール中に以下の画面が表示される。
用途次第だが、スタンドアロンを選択。
(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 (Linux)」カテゴリの記事
- Webアルバムのインストール(ZenPhoto) (2)(2009.05.09)
- Ubuntu-9.04のインストール~WEBアルバムの導入(2009.05.01)
- Ubuntu-ZenPhotoのインストール(2008.11.29)
- Webアルバムのインストール(ZenPhoto) (1)(2009.05.04)
- Ubuntu-リンク集(2008.10.28)
「パソコン・インターネット」カテゴリの記事
- Webアルバムのインストール(ZenPhoto) (2)(2009.05.09)
- Ubuntu-9.04のインストール~WEBアルバムの導入(2009.05.01)
- Ubuntu-ZenPhotoのインストール(2008.11.29)
- Webアルバムのインストール(ZenPhoto) (1)(2009.05.04)
- FireFox-カスタマイズ(2008.11.13)
コメント