![]() |
LINUX |
vsftpdの設定 (アクセス制御)
*localとinternetでvsftpのアクセス制御をします
*vsftpd-2.2.2を使用します
*エイリアスIPを作成します、LANカード2枚でも良い
*selinuxの調整が必要な場合があります
*公開サーバで使う場合は、ローカル環境で十分実証して下さい
**以降はコメントです
*ソースの取得、削除は略します
*エディタ、ファイラーの操作は省略します
*Enterキーを省略します
*ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
*設定ファイルで "#" で始まる行はコメントとして解釈されます
参照ファイル
インストール環境| :OS | CentOS 5.5 |
| :インストール先 | |
| :作業 | /etc |
| :言語 | LANG=en_US.UTF-8 |
| :ユーザー | rootで実行 |
*メンテナンスの場合は一般ユーザから行います
エイリアスIPアドレスの作成*eth0の複製を作ります
# cd /etc/sysconfig/network-scripts # cp ifcfg-eth0 ifcfg-eth0:1
*ifcfg-eth0:1を修正します
DEVICE=eth0:1 IPADDR=192.168.0.100
*networkの再起動と確認
# service network restart # ifconfig
コンフィグファイルの作成*$ man vsftpd.confで再確認して下さい
*internet用にpublic.confを作成します
*local用にlocal.confを作成します
*vsftpd.confを削除します
# cd /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の設定値が残る場合は、再度設定しています
*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 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 #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)
*紫色 追加変更分です
*# 記号は設定無効
*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 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 #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の再起動と確認# service vsftpd restart # netstat -lnp | grep ftp
*2つ起動していることを確認
tcp 0 0 192.168.0.100:21 LISTEN 28532/vsftpd tcp 0 0 192.168.0.1:21 LISTEN 28528/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.log {
# ftpd doesn't handle SIGHUP properly
nocompress
missingok
}
iptablesの設定Netfilter (iptables) で制御している場合、ポートを開けてください
*省略
![]() |
Copyright(c) 528p.com All Rights Reserved. |

