写篇关于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的有空再写一篇,这里就不多罗嗦了.

 

以上配置均已在本人实机上验证通过,