当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    VSFTPD配置(匿名——本地用户——虚拟用户)

    栏目:win服务器问题汇总 时间:2019-10-30 08:56

    1,下载VSFTPD.TAR.GZ
    程序下载地址:ftp://vsftpd.beasts.org/users/cevans/
    2,检查和建立相应账户和目录
    1,nobody用户
    [root@main vsftpd-2.1.0]# cat /etc/passwd |grep nobody
    nobody:x:99:99:Nobody:/:/sbin/nologin
    如不存在请建立相关账户。
    2,/usr/share/empty 目录, 如不存在请创建
    3,如允许匿名访问,需创建Ftp用户,家目录为/var/ftp(一般ftp用户存在而家目录不存在)
    [root@main vsftpd-2.1.0]# mkdir /var/ftp/
    [root@main vsftpd-2.1.0]# chown root.root /var/ftp
    [root@main vsftpd-2.1.0]# chmod 755 /var/ftp

    3,解压、编译、安装程序(其实vsftpd用rpm和用源码安装差不多,编译安装反而不方便,推荐各位RPM安装,呵呵)
    [root@main ~]# tar xzfv vsftpd-2.1.0.tar.gz
    [root@main ~]# cd vsftpd-2.1.0
    [root@main vsftpd-2.1.0]# make && make install
    4,复制相关文件
    如果是用RPM安装,可能会和源码安装的文件路径略有不同,如/etc/vsftpd.conf变成了/etc/vsftpd/vsftpd.conf,这类变动请自行 find相关文件。
    主配置文件
    [root@main vsftpd-2.1.0]# cp vsftpd.conf /etc/vsftpd.conf
    PAM身份验证用文件
    [root@main vsftpd-2.1.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp
    5,配置vsftpd.conf
    启用/禁止匿名用户访问。
    anonymous_enable=YES/NO
    允许本地用户登录并允许其上传文件。
    local_enable=YES
    write_enable=YES
    将本地用户锁定在主目录中,不允许切换到上一级目录中
    chroot_local_user=YES
    匿名和本地用户限速(单位byte)
    anon_max_rate=数字
    local_max_rate=数字
    禁止某些用户通过ftp登录服务器。如果设置了local_enable=YES,那么所有的用户包括root也能通过ftp登录服务器,出于安全考虑,需要对某些用户进行限制。在vsftpd.conf中有三个选项控制:
    userlist_deny=YES/NO
    userlist_enalbe=YES
    userlist_file=/etc/vsftpd.user_list
    如果userlist_deny=YES,/etc/vsftpd.user_list中列出的用户名就不允许登录ftp服务器;如果userlist_deny=NO,/etc/vsftpd.user_list中列出的用户名允许登录ftp服务器。我们只要在/etc目录下创建vsftpd.user_list文件,文件内容为允许登录或禁止登录的用户名,每个用户一行。
    禁止用户通过FTP修改文件或文件夹的权限。
    chmod_enable=NO(
    设置本地用户上传的文件或文件夹的umask值(默认为077)
    local_umask=022
    最多同时允许100个客户连接
    max_clients=100
    每个ip地址最多允许开3个线程
    max_per_ip=3
    只监听来访问192.168.0.2(适用本机多网卡、多IP的情况)的FTP服务请求
    listen_address=192.168.0.2
    6,安装完成后使用vsftpd命令即可启动vsftpd服务。保证防火墙开放相关端口后尝试下匿名登陆吧,注意所有匿名用户都登录到相同的目录中/var/ftp。
    我们可以通过pgrep vsftpd 来查看vsftpd是否运行起来,可以用pkill vsftpd 来杀死vsftpd进程,把vsFTPd关闭。所以上文说更推荐用rpm安装,那样就可以用service vsftpd start|stop|restart来控制了。
    [root@main ~]# pgrep vsftpd
    2745
    [root@main ~]# pkill vsftpd
    7,设置pub目录,允许匿名用户上传、下载文件。
    更改配置文件,确保有这几项:
    anonymous_enable=YES
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_umask=022
    新建文件夹,并更改权限。
    [root@main ~]# mkdir /var/ftp/pub
    [root@main ~]# chmod 777 /var/ftp/pub
    尝试一下匿名上传下载吧,应该没问题。
    8,设置使用本地用户登陆FTP服务器,并进行权限设置。