どせいたんさき。

ナスダヨー

vsftp を CentOS で設定

目的

vsftpCentOS にインストールしたい.

$ cat /etc/redhat-release
CentOS release 5.9 (Final)

コピー機でスキャンした書類をここにアップロードする.ということで匿名ユーザのログインは許さない,かつ外部からのアップロードを許す設定にしたい.

解決方法

インストールそのものはすでにされていた.

# yum info vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
Installed Packages
Name       : vsftpd
Arch       : x86_64
Version    : 2.0.5
Release    : 28.el5
Size       : 287 k
Repo       : installed
Summary    : vsftpd - Very Secure Ftp Daemon
URL        : http://vsftpd.beasts.org/
License    : GPL
Description: vsftpd is a Very Secure FTP daemon. It was
           : written completely from scratch.


CentOS 5.9 では vsftpd の設定は /etc/vsftpd/vsftpd.conf に記述されている.デフォルトでは匿名ユーザがログインできるようになっている.これを無効にするために以下のように書きかえる.

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO

CentOS ではデフォルトで ftp による書き込みができるようになっているので write_enable 属性についてはそのままで問題ない(参考).あとは vsftpd を起動させればよい.

# /etc/init.d/vsftpd start


またマシンの再起動時に ftp サーバも一緒に起動して欲しいのでその設定もする.起動時に立ち上がるサービスについては /sbin/chkconfig というコマンドで設定できる.

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

0 から 6 の数字はランレベルを表しており以下のようになっている.

# Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
# 

他の自動起動するサービスが 2,3,4,5 で on になっていたのでそれに合わせる.

# /sbin/chkconfig --levele 2345 vsftpd on
# /sbin/chkconfig --list vsftpd
vsftpd           0:off  1:off  2:on  3:on  4:on  5:on  6:off