このエントリーをはてなブックマークに追加
スポンサーリンク

vsftpdの設定

vsftpd

RedHat9、CentOSに標準で搭載されたFTPサーバーです。これはインストール時に「FTPサーバー」を指定するか、後からrpmで組み込めば良いでしょう。

・設定ファイルの変更
まず、/etc/vsftpd/vsftpd.confというファイルで設定を変更します。
anonymous_enable=NO
こうする事で、anonymousがログインする事を防ぐことができます。グローバルアドレスを与えるサーバーにむやみにanonymousを許可すると、中のファイルを消されたりバックドアを仕込まれたりとろくな事がないので、禁止にしておきましょう。
chroot_local_user=YES
一般ユーザーをルートまで行けなくします。雛形にはないので、書き足します。
chroot_list_enable=YES
チェンジルートリストを有効にします。
chroot_list_file=/etc/vsftpd.chroot_list
チェンジルートユーザーリストファイルを指定します。ただし、

chroot_local_user=YES
の時、デフォルトはチェンジルートする(*注)事になり、このリストはチェンジルートしない人のリストになります。

chroot_local_user=NO
の時(もしくは、chroot_local_userの記述がない時)、デフォルトはチェンジルートしない事になり、このリストはチェンジルートする人のリストになります。
*注:チェンジルートする
ユーザーのホームディレクトリがルートになる設定。こうする事でサーバーの本当のルートには行けなくする。
listen=NO
単独で起動するか、xinetd経由で起動するかを指定します。

listen=YES
単独で起動します。

listen=NO
xinetd経由で起動します。
tcp_wrappers=YES
/etc/hosts.allow /etc/hosts.denyリストを有効にするかどうか。グローバルアドレスを与えるのであれば、有効にしておきましょう。
use_localtime=YES
use_localtime=YESとすると、日本時間になります。これも雛形にないので書き足します。この設定を入れておかないと、FTPで接続した際にファイルの更新時刻がGMTで表示されます。ただし、NextFTPなどのFTPソフトの方で日本時間に変換してくれる機能を使う場合は、GMTのままにしておきます。

というように、vsftpdは雛形にない項目を書き足さないといけない事が多いです。
・単体で起動
単体で起動させる時は、listen=YESと設定し、/etc/rc.d/init.d/vsftpd start とします。

・xinetd経由で起動
単体で起動させると、tcp_wrappersが効かなくなる不具合が発見されているため、なるべく安全のためにxinetd経由で起動させましょう。listen=NOに設定し、/etc/rc.d/init.d/vsftpd stopで単体での常駐を止めます。その後、/etc/xinetd.d/ftpd というファイルに
service ftp
{
        flags           = REUSE
        socket_type     = stream        
        wait            = no
        user            = root
        server          = /usr/sbin/vsftpd
        server_args     = /etc/vsftpd/vsftpd.conf
        log_on_failure  += USERID
        disable         = no
}
このような記述をしておき、/etc/rc.d/init.d/xinetd restart とします。
スポンサーリンク