前回の記事でFTPサーバーの設定は完了しました。
今度は、ユーザー毎にルートとなるディレクトリを設定し、余計なファイルの閲覧をできないようにしたいと思います。
スポンサードリンク
ユーザー別の設定ファイルとディレクトリの作成
vsftpdには、以下の機能が備わっています。
- ユーザー別に設定ファイルを適用する機能(user_config_dir)
- アクセスしたときのルートとなるディレクトリを設定する機能(local_root)
今回は、この2つの機能を用いて「/var/www」をルートにして、「cgi-bin」や「error」や「icon」のディレクトリは閲覧ができるだけ、「html」の下は編集が可能。という状態にして、FTPからではweb関連のファイル以外にアクセスできないようにしてしまおうと思います。
まずは、ユーザー別の設定ファイルの置き場所となるディレクトリを作成します。
# mkdir /etc/vsftpd/user_conf
続いて、ユーザー別の設定ファイルを作成し、必要な設定を入力しておきます。
ユーザー別の設定ファイルは、上で作成したディレクトリの下に「ユーザー名と同じファイル名で拡張子なし」で作ります。
例えば、「user1」の場合、以下のようにファイルを作成し、内容を書き込みます。
# vi /etc/vsftpd/user_conf/user1 ====== [以下 user1 の内容] ====== local_root=/var/www
vsftpd.confの変更
vsftpd.confの設定を前回の状態のような設定にしている場合は、変更1か所と追記1か所、それぞれ必要になってきます。
# vi /etc/vsftpd/vsftpd.conf ====== [以下 vsftpd.conf の内容] ====== ・・・ (省略) ・・・ chroot_local_user=YES ・・・・・・ (1) ・・・ (省略) ・・・ user_config_dir=/etc/vsftpd/user_conf ・・・・・・ (2)
(1) ユーザーのログイン時のディレクトリをchrootするための設定です。元々はコメントアウトされて記述されていますが、これを有効化します。
(2) ユーザー別の設定ファイルを読み出すためのディレクトリを指定しています。元々のファイルには記述が存在しないため、新たに設定ファイルの終端にでも追加しておきます。
以上で、設定は完了です。
vsftpdの再起動
# service vsftpd restart Shutting down vsftpd: [ OK ] Starting vsftpd for vsftpd: [ OK ]
上記のように[OK]が表示されていれば成功です。
トラックバック & ピンバック