Server ≫ Linux Server ≫ Fedora 8 ≫ FTPサーバー

 
   
vsftpd のインストール
   
  Fedora 8 のインストール時 “FTPサーバ” を選択していれば vsftpd はインストールされています。

もし、Fedora 8 のインストール時 “FTPサーバ” を選択していない場合は下記要領でインストールして下さい。

下記のように入力します。青文字が入力文字です。

   
   
 
[root@linux]# yum install vsftpd    ← 入力
 fedora                     100% |=========================| 2.1 kB    00:00
 updates                    100% |=========================| 2.3 kB    00:00
 Setting up Install Process
 Parsing package install arguments
 Resolving Dependencies
 --> Running transaction check
 ---> Package vsftpd.i386 0:2.0.5-19.fc8 set to be updated
 filelists.sqlite.bz2 100%       |=========================| 4.6 MB    00:01
 --> Finished Dependency Resolution

Dependencies Resolved

 =============================================================================
  Package                Arch        Version            Repository      Size
 =============================================================================
 Installing:
  vsftpd                 i386        2.0.5-19.fc8       fedora          139 k

 Transaction Summary
 =============================================================================
 Install      1 Package(s)
 Update       0 Package(s)
 Remove       0 Package(s)

 Total download size: 139 k
 Is this ok [y/N]:
y   ← y を入力
 Downloading Packages:
 (1/1): vsftpd-2.0.5-19.fc 100% |=========================| 139 kB    00:00
 Running rpm_check_debug
 Running Transaction Test
 Finished Transaction Test
 Transaction Test Succeeded
 Running Transaction
   Installing: vsftpd                       ######################### [1/1]

 Installed: vsftpd.i386 0:2.0.5-19.fc8
 Complete!
    ← Complete! と表示されれば完了
 
   
   
FTPソフト vsftpd の設定
   
  vsftpd の設定ファイルを開きます。下記のように緑色の部分を黄色に変更(書き換え・削除)して下さい。赤文字は説明です。青文字が入力文字です。
   
   
 
[root@linux]# 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=YES
   
 ↓
 
anonymous_enable=NO  ← anonymous(匿名ユーザー)のログインを許可しない
 #
 # Uncomment this to allow local users to log in.
 local_enable=YES
 #
 # Uncomment this to enable any form of FTP write command.
 write_enable=YES
 #
 # Default umask for local users is 077. You may wish to change this to 022,
 # if your users expect that (022 is used by most other ftpd's)
 local_umask=022
 #
 # Uncomment this to allow the anonymous FTP user to upload files. This only
 # has an effect if the above global write enable is activated. Also, you will
 # obviously need to create a directory writable by the FTP user.
 #anon_upload_enable=YES
 #
 # Uncomment this if you want the anonymous FTP user to be able to create
 # new directories.
 #anon_mkdir_write_enable=YES
 #
 # Activate directory messages - messages given to remote users when they
 # go into a certain directory.
 dirmessage_enable=YES
 #
 # Activate logging of uploads/downloads.
 xferlog_enable=YES
 #
 # Make sure PORT transfer connections originate from port 20 (ftp-data).
 connect_from_port_20=YES
 #
 # If you want, you can arrange for uploaded anonymous files to be owned by
 # a different user. Note! Using "root" for uploaded files is not
 # recommended!
 #chown_uploads=YES
 #chown_username=whoever
 #
 # You may override where the log file goes if you like. The default is shown
 # below.
 #xferlog_file=/var/log/vsftpd.log
 #
 # If you want, you can have your log file in standard ftpd xferlog format
 # Note that the default log file location is /var/log/xferlog in this case.
 xferlog_std_format=YES
 #
 # You may change the default value for timing out an idle session.
 #idle_session_timeout=600
 #
 # You may change the default value for timing out a data connection.
 #data_connection_timeout=120
 #
 # It is recommended that you define on your system a unique user which the
 # ftp server can use as a totally isolated and unprivileged user.
 #nopriv_user=ftpsecure
 #
 # Enable this and the server will recognise asynchronous ABOR requests. Not
 # recommended for security (the code is non-trivial). Not enabling it,
 # however, may confuse older FTP clients.
 #async_abor_enable=YES
 #
 # 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_upload_enable=YES
    

 
ascii_upload_enable=YES  ← # を消して有効にする
 #ascii_download_enable=YES
   
 ↓
 
ascii_download_enable=YES  ← # を消して有効にする
 #
 # You may fully customise the login banner string:
 
#ftpd_banner=Welcome to blah FTP service.
   
 ↓
 
ftpd_banner=unknown  ← ログイン時にソフト名とバージョンが表示されないようにする
 #
 # You may specify a file of disallowed anonymous e-mail addresses. Apparently
 # useful for combatting certain DoS attacks.
 #deny_email_enable=YES
 # (default follows)
 #banned_email_file=/etc/vsftpd/banned_emails
 #
 # 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
    

 
chroot_list_enable=YES  ← ホームディレクトリより上層へのアクセスを許可するユーザリストの有効
 
chroot_local_user=YES  ← ホームディレクトリより上層へのアクセスを許可しない(追記)
 # (default follows)
 
#chroot_list_file=/etc/vsftpd/chroot_list
    

 
chroot_list_file=/etc/vsftpd/chroot_list  ← ホームディレクトリより上層へのアクセスを許可するユーザリスト
 #
 # You may activate the "-R" option to the builtin ls. This is disabled by
 # default to avoid remote users being able to cause excessive I/O on large
 # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
 # the presence of the "-R" option, so there is a strong case for enabling it.
 
#ls_recurse_enable=YES
   
 ↓
 
ls_recurse_enable=YES   ← ディレクトリごと削除できるようにする
 #
 # When "listen" directive is enabled, vsftpd runs in standalone mode and
 # listens on IPv4 sockets. This directive cannot be used in conjunction
 # with the listen_ipv6 directive.
 listen=YES
 #
 # 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

 
pasv_enable=YES   ← PASVモードを有効にする場合に追記
 
pasv_min_port=4001  ← PASVモードの最小ポート番号を追記
 
pasv_max_port=4003 
← PASVモードの最大ポート番号を追記

 
ssl_enable=YES  ← SSL接続をする場合に追記
 
   
  PASVモードの設定を行った場合でファイアフォール設定をしている場合は最小から最大までの全てのポートを開放する必要があります。上記の例では 4001 〜 4003 までのポートを開放します。またこのポート番号は任意で設定できますが他のポートと重複しないように設定して下さい。

ホームディレクトリより上層へのアクセスを許可するユーザリストの作成。下記のように入力します。青文字が入力文字です。

   
   
 [root@linux]#
echo **** >> /etc/vsftpd/chroot_list    ← 入力
 
   
   
ポートの開放
   
  FTPサーバー用のポート 21 を開放します。

設定ファイル iptables を開き最終行に -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT を追記してポート番号 21 を開きます。青文字が入力文字です。

   
   
 [root@linux]#
vi /etc/sysconfig/iptables    ← 入力
 # Firewall configuration written by system-config-securitylevel
 # Manual customization of this file is recommended.
 *filter
 : IMPUT ACCEPT [0:0]
        ↓↓
    ↓↓ 途中省略
    ↓↓

 -A INPUT -j RH-Firewall-1-INPUT
        ↓↓
    ↓↓ 途中省略
    ↓↓

 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT      ← 最終行に追記

 
   
  設定を反映させるため iptables を再起動させます。
   
 
 [root@papa-net ~]#
/etc/rc.d/init.d/iptables restart    ← 入力
 iptables: Flushing firewall rules:                    [
OK ]
 iptables: Setting chains to policy ACCEPT: filter     [
OK ]
 iptables: Unloading modules:                          [
OK ]
 iptables: Applying firewall rules:                    [
OK ]
 
   
   
FTPサーバの開始
   
  下記のように入力します。青文字が入力文字です。
   
   
 [root@linux]#
/etc/rc.d/init.d/vsftpd start    ← 入力
 vsftpd 用の vsftpd を起動中:                [
OK ]
 
   
  続いてPCの再起動に vsftpd を自動的に起動するようにします。下記のように入力します。青文字が入力文字です。
   
   
 [root@linux]#
chkconfig vsftpd on    ← 入力
 
   
  自動起動設定の確認。下記のように入力し 、下記のように表示されればOKです。青文字が入力文字です。
   
   
 [root@linux]#
chkconfig --list vsftpd    ← 入力
 vsftpd       0:off   1:off   2:on   3:on   4:on   5:on   6:off
 
   
  再起動は下記のように入力します。青文字が入力文字です。
   
   
 [root@linux]#
/etc/rc.d/init.d/vsftpd restart    ← 入力
 
   
   

戻る