FTPのインストールと設定

  • 投稿日:
  • by ライブラリ編集局

この記事ではインストールと設定方法について説明します。

OSはCentOS6です。


まずはvsftpをインストールします。

# yum install vsftpd
      ・
      ・
      ・
Removed:
vsftpd.x86_64 0:2.2.2-11.el6_4.1                                                             

Complete!

正しくインストールされたか確認します。

# rpm -q vsftpd
vsftpd-2.2.2-11.el6_4.1.x86_64

上記のように表示されれば、正しくインストールされています。

自動起動の設定を確認

ログイン時に自動でFTPが起動するようにします。

# chkconfig vsftpd on

設定の確認をします。

# chkconfig --list vsftpd
vsftpd          0:off   1:off   2:on    3:on    4:on    5:on    6:off

2~5がonになっていれば、okです。

iptablesの設定

FTPポートが開放されていないとアクセス制限を受けるので、21番ポートを開放します。

# vi /etc/sysconfig/iptables

以下を追加します。

-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

vsftpの設定

vsftpの設定ファイルを変更します。

#  vi /etc/vsftpd/vsftpd.conf

12行目周辺
匿名利用を禁止します。

anonymous_enable=NO             #YESをNOに変更

81行目周辺
アスキーモードでのアップロード、ダウンロードを許可

ascii_upload_enable=YES         #行頭の#を削除
ascii_download_enable=YES       #行頭の#を削除

96行目周辺
ディレクトリより上層へ行けるユーザーを制限し、 ディレクトリより上層へ行けるユーザーリスト使用

chroot_local_user=YES           #行頭の#を削除
chroot_list_enable=YES          #行頭の#を削除

99行目周辺
許可ユーザーのリストファイル指定

chroot_list_file=/etc/vsftpd/chroot_list    #行頭の#を削除

105行目周辺
行頭の#を削除して、ディレクトリ単位での一括転送を許可

ls_recurse_enable=YES           #行頭の#を削除

最終行以降に追加する
ホームディレクトリを/var/www/public_htmlにして、
wwwディレクトリより上には行けないように設定

local_root=public_html

タイムスタンプを使う

use_localtime=YES

上層アクセス禁止ユーザーの作成

vsftpdはデフォルトでrootユーザがアクセスできないようになっているので、 今回は新たにユーザを作成します。

この記事では guest1 で登録します。

# useradd guest1
# passwd guest1

ユーザー guest1 のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: 全ての認証トークンが正しく更新できました。

上層アクセス禁止ユーザーリストの作成

アクセスリストに書き込んだユーザーのホームパスより上には移動できないように設定します。

# vi /etc/vsftpd/chroot_list
guest1                        #作成したユーザ名を入力

vsftpを起動

# /etc/rc.d/init.d/vsftpd start
vsftpd 用の vsftpd を起動中:                     [  OK  ]

以上でFTPのインストール設定は完了です。