![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
上記設定ファイルの、RoorLogin off を on に書き変えて、proftpdデーモンをrestartさせてください。 /etc/ftpusersをエディターで開いてください。(以下ファイルの中)
上記設定ファイルの、root を #root とコメントアウトするもしくは削除してください。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sshd_config |
| # Authentication: LoginGraceTime 600 PermitRootLogin no StrictModes yes |
上記設定ファイルの、PermitRootLogin no を yes に書き換えてsshdデーモンをrestartさせてください。
それでは、改めて、Tera Termを使って、sshにてroot権限でログインしてください。
ls コマンドを使って先ほどアップロードしたファイルがあることを確認してください。
tar zxvf proftpd-1.2.9rc1.tar.gz と入力し実行してください。カーソルが戻ったらlsコマンドでファイルを表示してください。
新たに、proftpd-1.2.9rc1 というディレクトリーが確認できたと思います。
cd proftpd-1.2.9rc1/ と入力しカレントディレクトリを変更してください。lsコマンドでファイルを表示して見てください。ファイルが展開されていれば終了です。
今展開したファイルの中に、configureというスクリプトファイルがある筈です。このファイルは、様々なシステムを自動的に判断し、コンパイルに必要な変数を自動的に設定し、ユーザーの必要に応じて好みのコンパイル時オプションにより、コンパイルされた実行ファイルの動作を設定することが出来ます。オプションの変更方法は、別途技術書等参考にしてください。今回は、デフォルトの設定で行います。
./configure と入力し実行してください。
カーソルが戻ったら make と入力し実行してください。(コンパイル開始)
カーソルが戻ったら終了です。
make install と入力し実行してください。
旧バージョンが起動している場合は、Kメニューからデーモン設定ツールを選択し起動してください。起動サービス設定で、proftpdを見てください。Runningなっている場合は、それをクリックしてstopにしてください。
完全に旧バージョンを削除したい場合は、パッケージ管理ツールから、メンテナンスを選択し、System
Environment/Daemons から proftpd を選択しokで進み継続を押してください。自動的に削除されます。
このproftpdはデフォルトで、/usr/local/sbin/にインストールされます。設定ファイルは、/usr/local/etc/proftpd.confのファイル名で配置されています。このファイルを編集することによって設定変更します。旧バージョンとは、インストール先が変っていますので注意してください。
起動方法は、/usr/local/sbin/proftpd -c /usr/local/etc/proftpd.conf と入力してください。そうしたらffftp等のソフトを利用しアクセスしてみてください。もし起動しない場合があったら、コンフィグファイルを見てください。デフォルトの設定で起動する筈ですが、Groupディレクティブがnogroupになっていたら、nobodyに変更してください。
OS起動時にサービスを開始するには、起動スクリプトを作成します。が、解凍したファイルの中に /proftpd-1.2.8/contlib/dist/rpm/proftpd.init.dがあります。そのファイルをproftpdにリネイムして、/etc/rc.d/init.d/にコピーし、パーミッションを755に変更します。下記コマンドを実行すると、rc0.dからrc6.dに起動スクリプト、停止スクリプトが作られます。
cd /etc/rc.d/init.d
/sbin/chkconfig --add proftpd
以上でproftpdのバージョンアップ方法を終了いたします。また、起動方法は、デフォルトのスタンドアロンで起動する方法とスーパーデーモンから起動する方法があります。
proftpd サーバに ftp 接続を行ったところ、以下のようなエラーが表示されログインで
きない場合があります。
"500 FTP server shut down (Maintanance in progress) -- please try
again later."
対処方法
rm -f /etc/shutmsg を実行する、または起動スクリプトで、 /etc/rc.d/init.d/proftpd resume を実行することにより解決できると思います。(TurboLinuxサイトのナレッジデータベース より)
proftpd.confをエディターで開いてください。ServerType standalone を inetd に変更する。
proftpdのxinetd用ファイルを編集する。以下設定内容
| /etc/xinetd.d/proftpd | 説明 |
| service ftp { disable = no socket_type = stream protocol = tcp wait = no user = root server = /usr/local/sbin/proftpd } |
サービス名 onで起動 ソケットタイプ プロトコル 複数の同時接続をしない サービス起動ユーザー サーバープログラムの絶対パス |
パーミッションは、644です。サーバープログラムの絶対パスは、旧バージョンの絶対パスと、バージョンアップした時は違いますので気をつけてください。
起動方法は、/etc/rc.d/init.d/xinetd restart
スーパーデーモンの場合、上記のようにxinetd用のファイルに、desable=noとなっていればos起動時に自動的に起動します。(Lesson5を参考)
注:スーパーデーモンによる起動は、TCPwrappersの影響を受けますので、もし起動しなければ確認してみてください。
分からなければ、/etc/hosts.allow に、proftpd : ALL と追加してみてください。(10/13追記)
デフォルトのバージョンを削除すると、ftpusersも削除されてしまいます。もし利用したければ、再設定すれば利用可能になります。
ログインしたユーザーが、ホームディレクトリーより上位ディレクトリーへアクセス制御をかける場合、DefaultRootディレクティブを使い設定する。
turboユーザーが自分のホームディレクトリーより上位にアクセスで出来ないようにするには、
DefaultRoot ~ とすればよい。また、システム管理者は、上位ディレクトリーまでアクセスできるようにするには、システム管理者用にグループをつけ、(今回は、sysopとする)以下のようにする。
DefaultRoot ~ !sysop
anonymousFTPを使ってログインさせる場所は、デフォルトで、/var/ftp です。ログインさせる場所がないとアクセスできません。当然です!
他の場所に変更するには、<Anonymous ~ftp>を<Anonymous /home/ftp>に変えると/home/ftpがログインする場所になります。
ftpのユーザー名とグループ名でディレクトリーを作成してください。
パーミッションを設定します。豆知識を参照ください。書き込みされたくない場合は、555にしてください。
proftpd.confを編集します。
| proftpd.conf | コメント |
| RequireValidShell off <Anonymous /home/ftp> User ftp Group ftp UserAlias anonymous ftp MaxClients 10 <Limit WRITE> DenyAll </Limit> </Anonymous> |
RequireValidShell offは重要です。 ログイン場所を/home/ftpにする場合 <Limit WRITE> DenyAll </Limit> で、書き込み禁止になります。 |
上記設定を全てコメントアウトするか、削除する。
以上でproftpdのバージョンアップ方法を終了いたします。
このレッスンは、Lesson12で行います。