FTP サーバーを構築する
FTP サーバーを構築するときによく使用される vsftpd パッケージは、Chris Evans 氏が開発した非常にシンプルで高速な動作をする FTP サーバーであり、匿名・通常の FTP どちらでも使用することができます。
ここでの説明は、内部ネットワークでの使用を前提としています。 外部ネットワークから使用する場合には、別途セキュリティ対策が必要になります。
ネットワーク端末から接続を行う場合には、パケットフィルタリングを停止しておく必要があります。
パッケージのインストール
FTP サーバーパッケージは、yum コマンドを使用してインストールします。
[root@web ~]# yum install vsftpd
[ CentOS 6 / CentOS 5 ]
パッケージインストール後の設定
FTP に関する設定は、独自のポリシーに基づいて多くのオプションが用意されていますので、FTP サーバーの機能やセキュリティに関するオプション設定を変更します。
[root@web ~]# vi /etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # # READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities. # # Allow anonymous FTP? (Beware - allowed by default if you comment this out). # 匿名ユーザーでのログイン制御 anonymous_enable=NO [ YES : 許可 | NO : 拒否 ] : ( 中略 ) : # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. # Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd # predicted this attack and has always been safe, reporting the size of the # raw file. # ASCII mangling is a horrible feature of the protocol. # ASCIIモードでのアップロード制御 ascii_upload_enable=YES [ YES : 許可 | NO : 拒否 ] # ASCIIモードでのダウンロード制御 ascii_download_enable=YES [ YES : 許可 | NO : 拒否 ] : ( 中略 ) : # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). # ユーザーホームディレクトリより上位階層へのアクセス制御 chroot_list_enable=YES [ YES : ユーザー制御する | NO : ユーザー制御しない ] # (default follows) # ユーザーホームディレクトリより上位階層へのアクセス制御ファイル chroot_list_file=/etc/vsftpd/chroot_list : ( 中略 ) : # This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6 # sockets, you must run two copies of vsftpd whith two configuration files. # Make sure, that one of the listen options is commented !! #listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES # タイムスタンプのローカル時刻制御(参照制御されるユーザーについては無効) use_localtime=YES [ YES : 有効 | NO : 無効(デフォルト : GMT) ]
[ CentOS 6 / CentOS 5 ]
FTP サーバーの起動
パッケージをインストールした段階では、セキュリティを考慮しているため自動起動されません。 システムの再起動後に FTP サーバーを自動起動するための設定を行います。
FTP サーバーを起動する
[root@web ~]# /etc/rc.d/init.d/vsftpd start
vsftpd 用の vsftpd を起動中: [ OK ]
FTP サーバーの自動起動を設定する
[root@web ~]# chkconfig vsftpd on
[root@web ~]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[ CentOS 6 / CentOS 5 ]