![]() |
LINUX |
vsftpdの設定 (アクセス制御)
・localとinternetでvsftpdのアクセス制御をします
・vsftpd-2.3.4を使用します
・エイリアスIPを作成します、LANカード2枚でも良い
・selinuxの調整が必要な場合があります
・公開サーバで使う場合は、ローカル環境で十分実証して下さい
・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します
・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます
参照ファイル
インストール環境| :OS | CentOS 5.6 |
| :インストール先 | |
| :作業 | /etc |
| :言語 | LANG=en_US.UTF-8 |
| :ユーザー | rootで実行 |
・メンテナンスの場合は一般ユーザから行います
エイリアスIPアドレスの作成・eth0の複製を作ります
# cd /etc/sysconfig/network-scripts
[root@venus:/etc/sysconfig/network-scripts]
# cp ifcfg-eth0 ifcfg-eth0:1
・ifcfg-eth0:1を修正します
・省略
DEVICE=eth0:1
・省略
IPADDR=192.168.0.100
・省略
・networkの再起動と確認
[root@venus:~]
# service network restart
# ifconfig
コンフィグファイルの作成・$ man vsftpd.confで再確認して下さい
・internet用にpublic.confを作成します
・local用にlocal.confを作成します
・vsftpd.confを削除します
# cd /etc/vsftpd
[root@venus:/etc/vsftpd]
# cp vsftpd.conf public.conf
# cp vsftpd.conf local.conf
# rm vsftpd.conf
vsftpd起動スクリプト・start関数で複数のconfファイルを読みこんで起動します
・省略
start() {
# Start daemons.
if [ -d /etc/vsftpd ] ; then
for i in `ls /etc/vsftpd/*.conf`; do
site=`basename $i .conf`
echo -n $"Starting $prog for $site: "
/usr/local/sbin/vsftpd $i &
RETVAL=$?
[ $RETVAL -eq 0 ] && {
touch /var/lock/subsys/$prog
success $"$prog $site"
}
echo
done
else
RETVAL=1
fi
return $RETVAL
}
・省略
public.confの作成:/etc/vsftpd/public.conf (root root 644)
・紫色 追加変更分です
・# 記号は設定無効
・local.confの設定値が残る場合は、再度設定しています
・ログを/var/log/vsftpd-public.logに出力します
・pasv_portはiptablesの設定に合わせて下さい
・listen_addressで外部からアクセスされるIPアドレスを指定します
・listen_addressで制御されるのはサーバのIPアドレスです
default YES default (none) default NO default NO default 077 default NO default NO default NO default NO default NO default NO default root default /var/log/xferlog default /var/log/vsftpd.log default NO default 300 default 300 default nobody default NO default NO default NO default default NO default default NO default default NO default ftp default NO default 0 (unlimited) default 0 (use any port) default 0 (use any port) default 0 (unlimited) default default NO default (none) default NO |
anonymous_enable=YES anon_root=/home/ftp/pub local_enable=NO #write_enable=YES local_umask=022 #anon_upload_enable=YES #anon_mkdir_write_enable=YES dirmessage_enable=YES xferlog_enable=YES #connect_from_port_20=YES #chown_uploads=YES #chown_username=whoever #xferlog_file=/var/log/vsftpd.log vsftpd_log_file=/var/log/vsftpd-public.log #xferlog_std_format=YES #idle_session_timeout=600 #data_connection_timeout=120 #nopriv_user=ftpsecure #async_abor_enable=YES #ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=Welcome to kojiya-528 FTP #deny_email_enable=YES #banned_email_file=/etc/vsftpd.banned_emails #chroot_list_enable=YES #chroot_list_file=/etc/vsftpd.chroot_list #ls_recurse_enable=YES pam_service_name=vsftpd use_localtime=YES max_clients=30 pasv_min_port=50000 pasv_max_port=50030 anon_max_rate=30000 listen=YES #listen_ipv6=YES listen_address=192.168.0.100 tcp_wrappers=YES |
local.confの作成
:/etc/vsftpd/local.conf (root root 644)
・紫色 追加変更分です
・# 記号は設定無効
・ログを/var/log/vsftpd-local.logに出力します
・listen_addressでローカルからアクセスされるIPアドレスを指定します
・listen_addressで制御されるのはサーバのIPアドレスです
default YES default (none) default NO default NO default 077 default NO default NO default NO default NO default NO default NO default root default /var/log/xferlog default /var/log/vsftpd.log default NO default 300 default 300 default nobody default NO default NO default NO default default NO default default NO default NO default default NO default ftp default NO default NO default NO default 0 (use any port) default 0 (use any port) default default NO default (none) default NO |
anonymous_enable=YES anon_root=/home/ftp/pub local_enable=YES write_enable=YES local_umask=022 #anon_upload_enable=YES #anon_mkdir_write_enable=YES dirmessage_enable=YES xferlog_enable=YES #connect_from_port_20=YES #chown_uploads=YES #chown_username=whoever #xferlog_file=/var/log/vsftpd.log vsftpd_log_file=/var/log/vsftpd-local.log #xferlog_std_format=YES #idle_session_timeout=600 #data_connection_timeout=120 #nopriv_user=ftpsecure #async_abor_enable=YES ascii_upload_enable=YES ascii_download_enable=YES #ftpd_banner=Welcome to blah FTP service. #deny_email_enable=YES #banned_email_file=/etc/vsftpd.banned_emails chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list ls_recurse_enable=YES pam_service_name=vsftpd userlist_enable=YES use_localtime=YES text_userdb_names=YES pasv_min_port=50000 pasv_max_port=50030 listen=YES #listen_ipv6=YES listen_address=192.168.0.1 tcp_wrappers=YES |
tcp_rappersによる制御
vsftpdの再起動と確認
# cd ~
[root@venus:~]
# service vsftpd restart
# netstat -lnp | grep ftp
・2つ起動していることを確認
tcp 0 0 192.168.10.100:21 0.0.0.0:* LISTEN 1912/vsftpd tcp 0 0 192.168.10.1:21 0.0.0.0:* LISTEN 1909/vsftpd
/etc/hosts.allowの修正ALL: 127.0.0.1 vsftpd@192.168.0.1: 192.168.0. vsftpd@192.168.0.100: ALL
vsftpdのログローテーション
デーモン (スクリプト) 起動の場合:/ete/logrotate.d/vsftpd
/var/log/vsftpd-public.log /var/log/vsftpd-local.log {
# ftpd doesn't handle SIGHUP properly
nocompress
missingok
}
iptablesの設定Netfilter (iptables) で制御している場合、ポートを開けてください
・省略
![]() |
Copyright(c) 528p.com All Rights Reserved. |

