トップページへ
 - いらっしゃいませ♪ -
戻る
ゲストブック
 - 設定方法 -
ユーザーの設定
ProFTPD の設定
FFFTP の設定
ファイルのアップロード
 - スポンサード リンク -


ユーザーの安全な運用を設定しよう!!

更新日:2005/08/31

FTPサーバーにはセキュリティ上の問題から root での接続ができないようになっています。しかし Linux 上で作成したユーザーは、通常そのまま Linux のユーザー名とパスワードで接続できるようになっています。

root と そうでない 一般ユーザー の違いは、root権限のファイル ( システムファイルなど ) の送受信が行えないということです。これによってシステムの安全性を保っています。

ここではさらに 一般ユーザー での接続の場合に、より安全に接続させる方法について考えたいと思います。

まずはどのような目的で運用するかを決めておきます。ここでは使用頻度の高い、

  • WEBページへのファイルのアップロード

を出来るように設定したいとします。

そこで設定するアクセス権限は、

  • 自分のホームディレクトリには書き込み、読み込み、上書きが自由に行える
  • 管理者グループを作成し、そのグループのユーザーはどのディレクトリにも移動ができるようにする
  • 管理者グループ以外のユーザーは自分のホームディレクトリ以下のみアクセスできるようにする
  • Anonymouse ( 登録されていないユーザー ) は利用できないようにする

とします。

また、管理者グループのユーザーはWEBページの更新が行えるように、Apache のドキュメントルートである /home/httpd へのアクセス権限を与えます。

それでは早速ユーザーを作成してみましょう。

グループ及びユーザーの作成

ここでは例として、

  • 管理者グループ : admin 
  • 管理者グループに所属するユーザー : kanri  

として、作業を進めます。

はじめにグループを作成します。画面上部のツールバーから、

[ アプリケーション ] → [ システム・ツール ] → [ ユーザーとグループ ] 

を起動して下さい。

表示したら、「 グループ 」 のタブをクリックします。

次に右にある 「 グループの追加 」 ボタンをクリックします。以下の画面が表示されたら、グループ名に admin と入力して、「OK」をクリックします。

これでグループが作成されました。

次は admin グループに属するユーザー kanri を作成します。 「 ユーザーの管理 」 のタブをクリックして下さい。

「ユーザーの追加」をクリックして、下図のように入力を行って下さい。

ユーザー名(U):kanri

本名(R):prpftpd user  (任意)

パスワード(P):**********  (任意)

パスワードの確認(F):**********  (上記の繰り返し)

注意:本名に日本語を入力するとエラーになります。

次に「拡張」のタブをクリックして、下図のように [ 高度な設定 ] の [ メインのグループ(M): ] へ先ほど作成した admin を選択します。

以上で 「 OK 」 をクリックして登録を行って下さい。グループ及びユーザーの作成は以上です。

ユーザー情報の確認

それでは念のためにユーザーの情報を確認したいと思います。

今回はアクセス権限を変更したり、ログインしたユーザー以外のユーザーの情報を確認できるように、ユーザーをまず root に変更してから作業を行いたいと思います。

まず、コマンドライン端末を起動して下さい。そして、root へ変更します。

$ su -
Password:  → rootのパスワードを入力します。表示はされません。

と入力して下さい。先頭の $ が # に変更されれば、OK です。

それではユーザーの情報を表示してみたいと思います。

# cd /home/kanri  → kanriのディレクトリへ移動
# ls -al  → ディレクトリ内を詳細に表示

この入力で kanri ユーザーのホームディレクトリの情報が表示されます。

以下は test ユーザーでログインしてる場合の作業画面です。

このように test ユーザーでログインしていても、root へ変更すれば他のどのユーザーの情報でも表示することができるようになります。特定のユーザーのみでよい場合は、安全のためにそのユーザーへ変更して、同様の作業を行って下さい。

一覧は左から、

[ アクセス権限 / 所有者 / グループ / サイズ / 日付 / ディレクトリまたはファイル名 ]

となっています。

上記のように、所有者が kanri となり、グループが admin となっていれば正常に作成されています。もし、所有者やグループが違うものになっている場合は、コマンドラインから修正を行って下さい。

所有者を全て kanri へ変更する場合は上記の状態から、

# chown -R kanri ./

と入力します。-R はオプション設定で、全てのディレクトリやファイルを一括で変更できます。

グループを全て admin へ変更する場合は上記の状態から、

# chgrp -R admin ./

と入力します。これで目的の状態に更新されました。

ユーザー情報の確認は以上です。

シェルの設定

先ほどユーザーを作成した時のシェルは /bin/bash です。これは通常のコマンド操作が行える標準的なシェルです。自分で利用するには何の問題もないと思います。しかし、外部の人にFTP通信ができるようにするときは、安全の為にコマンド操作が出来ないようにしておきたいものです。

でも、コマンドが操作できないシェルはありません。そこで、FTP通信以外はサーバー上にログインできないようにしてコマンドが入力できないユーザーにしてしまいます。

ログインできないシェルは /bin/false です。しかし、このままユーザーのシェルをfalseに設定すると、FFFTPなどの通信でもログインできず、接続することすらできなくなります。それでは困りますので、FTPではログインできるけど、サーバーにはログインできないシェルを作成します。

コマンドライン端末から、

$ su -
Password:  → root へ変更します。

# cp /bin/false /bin/ftp → false を ftp という名前でコピーします
#vi /etc/shells  

と入力して、shells(シェルの定義ファイル)を開きます。すると以下のように表示されますので、最後に bin/ftp を追加します。

/bin/sh
/bin/bash
/bin/bash2
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
/bin/zsh
/bin/ftp  → この行を追加

これでユーザーのシェルをftpに設定すると、ftpにはログインできるけど、サーバー上ではログインできないユーザーとなります。不思議ですね。

そして、

[ アプリケーション ] → [ システム・ツール ] → [ ユーザーとグループ ] 

の 「 ユーザーの管理 」 から設定したいユーザーのプロパティを表示して、「 拡張 」 のタブからログインシェルを変更すれば設定完了です。

情報元: Vine Linuxで自宅サーバー  様 いつもお世話になってます(^^)感謝です♪

コマンドからのユーザー設定

ちなみにここではコマンドから設定する方法も紹介しておきます。

コマンドライン端末から、

$ su -
Password:  → root へ変更します。

#vi /etc/passwd

と入力すれば、テキストでのユーザー設定が表示されます。そこで目的のユーザーの欄の最後に記述されている シェル の設定を書き換えて保存すれば、すぐに設定が反映されます。

例えば、

test:x:505:506:test:/home/test:/bin/bash  → /bin/ftp へ変更します。

となっている最後の /bin/bash を /bin/ftp に書き換えます。

ユーザーの設定は以上です。次は ProFTPD の設定を行います。

< ProFTPDの設定 >


< トップへ >