写篇关于vsftp配置的文章,加深自己的记忆,便于自己查阅,同时也希望能给其他需要的朋友一点借鉴.本文如有不对之处,还烦请批评指正,不甚感激.
系统环境:RHEL4,vsftp软件包系统光盘有或者到网上搜索rpm包安装,以下详细介绍配置过程.
注:下面的配置为仅允许系统帐户登陆,且严格chroot.行首"#"为root提示符,其他"#"为注释标记.
#vi /etc/vsftpd/vsftpd.conf
----------------------------------------------------------------------------------------
anonymous_enable=NO #禁止匿名访问
local_enable=YES #允许本地帐户访问
write_enable=YES #允许写入(上传)
local_umask=022
dirmessage_enable=YES #允许弹出目录信息
xferlog_enable=YES
connect_from_port_20=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list #只有写入vsftpd.user_list内的帐户允许访问
use_localtime=YES #使用本地时间
pam_service_name=vsftpd #认证文件名(默认为此值)
listen=YES #开启侦听
tcp_wrappers=YES #开启tcp访问控制项
banner_file=/etc/vsftpd/welcome.txt #弹出欢迎信息的内容(需要自己创建文本文件)
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list #只有写入vsftpd.chroot_list的帐户不被chroot
# vsftpd.chroot_list需要手动建立
ascii_download_enable=YES #允许文本模式下载
ascii_upload_enable=YES #允许文本模式上传
---------------------------------------------------------------------------------------
可以专门创建用于ftp的帐户:
#mkdir /home/ftp #创建ftp根目录
#useradd -d /home/ftp -s /sbin/nologin ftpuser #创建用户(注意家目录和非登陆)
#passwd ftpuser #设置用户密码
#chown -R ftpuser /home/ftp
#chmod 755 -R /home/ftp #改变ftp根目录属主和权限
#echo "ftpuser" >> /etc/vsftpd.user_list #把ftpuser加入到允许访问的队伍
以上设置好了,那么用户ftpuser将只能访问/home/ftp下面的东东,可以下载和上传
如果要跳出/home/ftp目录需要把用户同时加入vsftpd.user_list和vsftpd.chroot_list,如:
#useradd tom #创建用户,此也可加入-s /sbin/nologin选项限制登陆系统
#passwd tom #设置用户密码
#echo "tom" >> /etc/vsftpd.user_list ~把tom加入到允许访问的队伍
#echo "tom" >> /etc/vsftpd.chroot_list ~把tom加入到非chroot的队伍
小结:通过user-list及chroot-list的设置可以大大增强vsftp的安全性,
-s /sbin/nologin选项也是为安全性考虑的,请视具体情况设置,同时注意默认新加的用户都不在user_list及chroot_list之列,用户不能访问使请检查这两个文件.
另:如架于iptables之后,请开放21及20端口(我刚开始只开了21,能登陆ftp但是不能进行ls操作)
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
关于iptables的有空再写一篇,这里就不多罗嗦了.