ホーム > UNIX系サーバー > Linuxの設定例 > FTP(wu-ftpd)の設定

FTP(wu-ftpd)の設定



ftpサーバー、wu-ftpdはインストールさえすれば、基本的に使用可能になります。が、少し設定をしたほうがいいですね。

/etc/ftpaccessの設定。

  • class all real,guest, anonymous *  という行があります。これはアクセスの制限及び許可を行います。
real       /etc/passwdで登録されているユーザ
guest      /etc/groupで登録されているゲストグループ
anonymous  anonymous FTP(匿名FTP)によってログインする匿名ユーザー

  • また最後の"*"はワイルドカードを使用して全ドメイン、全アドレスを意味しています。
    この行のanonymousを削除。これは、匿名FTPを使用出来なくする為の変更です。
class all real,guest, anonymous *
    ↓
class all real,guest, *

  • これで、基本的に登録されているユーザーとグループしかログイン出来ないようになります。
ユーザーがFTPでログインした時、ユーザーホームディレクトリより上のディレクトリに移動させないようにする。

  • デフォルトでは、登録されたユーザーがログインした時(クライアントからも含む)、サーバーの全ディレクトリへ移動出来ます。(パーミッションにより書き込み、削除、実行できるかどうかは別)
    私は実験の為、友人のユーザーを登録して適当なホームページをアップしてもらっています。また、第三者から不正アクセスをされるとも限りません。そのため、ホームディレクトリより上のディレクトリを参照させないようにします。
    と言っても簡単です。先ほどの /etc/ftpaccess という設定ファイルの中に
    "guestgroup ftpchroot" という行があります。これはゲストグループの指定です。このゲストグループに指定されたグループはルートディレクトリをそのユーザーのホームディレクトリに変更されます。デフォルトでは
    "ftpchroot" というグループがすでに記述されていますが、実際に"ftpchroot"というグループは存在しません。要するに
/etc/group に "ftpchroot" というグループを登録すればよいのです。
(もちろん、他のグループ名でも可能)

  • グループを登録するには/etc/groupに下記のように記述して保存しておきます。
ftpchroot:x:1000:ユーザー1,ユーザー2,ユーザー3

  • ただしゲストグループを指定した場合、デフォルトでは、指定されたユーザーからftpを使用してのファイルのパーミッション変更が出来なくなってしまいます。それは、/etc/ftpaccess のファイルの中に下記のような記述がされているからです。
# Prevent anonymous users (and partially guest users)
# from executing dangerous commands
chmod           no              guest,anonymous
delete          no              anonymous
overwrite       no              anonymous
rename          no              anonymous  

  • chmod(モード変更)、delete(削除)、 overwrite(上書き)、 rename(名前変更)についての実行可否についての項目です。chmodに、guest,anonymousと指定されています。ゲストグループが指定されていますので、デフォルトでは、指定されたユーザーによるパーミッションの変更が不可能です。と言うことは・・・・

    cgiをftpにて転送しても、ユーザー側からパーミッションが変更できないのでcgiが実行できない、と言うことです。cgiは、パーミッションが755でないと実行できません。(直接、chmodを変更すればcgiの実行は可能です。)
    ただし、外部からアクセスしてくるユーザーにcgiを使用させないのなら、このままで問題ありません。というか、その方が安全です。

    パーミッションの変更を許可させるには、このchmodの"guest"を削除します。
以上がwu-ftpdの設定です。wu-ftpdが起動時に有効にする為に下記のコマンドを実行しておきます。

# chkconfig wu-ftpd on