zoukankan      html  css  js  c++  java
  • vsftpd常规操作指南

    配置

     vsftpd.conf配置参数:http://hi.baidu.com/lifeblood/item/ac564dc354973246a8ba9476

    vsftpd.denyuser: 限制登录用户。

    #若启用此选项,userlist_deny选项才被启动
    userlist_enable=YES
    
    #若为YES,则userlist_file中的用户将不能登录,为NO则只有userlist_file的用户可以登录
    userlist_deny=NO
    
    #定义限制/允许用户登录的文件
    userlist_file=/etc/vsftpd/vsftpd.user_list

    vsftpd.chroot_list: 设置是否允许用户切换目录。

    #将本地用户锁定在自家目录中。当此项被激活时,chroot_list_enable和chroot_local_users参数的作用将发生变化,chroot_list_file所指定文件中的用户将不被锁定在自家目录。本参数被激活后,可能带来安全上的冲突,特别是当用户拥有上传、 shell访问等权限时。因此,只有在确实了解的情况下,才可以打开此参数。默认值为NO。
    chroot_local_users=YES
    
    #锁定某些用户在自家目录中。即当这些用户登录后,不可以转到系统的其他目录,只能在自家目录(及其子目录)下。具体的用户在chroot_list_file参数所指定的文件中列出。默认值为NO。
    chroot_list_enable=YES
    
    #定义不能更改用户主目录的文件
    chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

    用户

    客户端用户分为三种:

    1.匿名用户:默认进入/var/ftp目录而且不能切换目录(也就是/var/ftp默认是它的根目录,pwd的时候显示的是/),而且默认无法上传,需要修改配置文件并重启服务.

    2.服务器本地用户.默认进入用户的宿主目录下,比如a用户,FTP登陆上之后默认进入/home/a下,可以进入别的目录,但默认只能在自己的宿主目录下上传文件,可以修改让它只在自己的宿主目录下.而不能去别的目录(就是把宿主目录变为它的/)

    3.虚拟用户:更加安全,即使想做一些什么攻击破坏性也没那么强,因为不是用的真实的用户.

    #接受本地用户
    local_enable=YES

    当配置上述参数后,服务器本地用户可登入。允许本地用户登录使用起来最简单,此类用户的配置完全同于本地用户。

    配置样例:

    ##########用户权限控制#########
    #若启用此选项,userlist_deny选项才被启动
    userlist_enable=YES
    
    #若为YES,则userlist_file中的用户将不能登录,为NO则只有userlist_file的用户可以登录
    userlist_deny=NO
    
    #定义限制/允许用户登录的文件
    userlist_file=/etc/vsftpd/vsftpd.user_list
    
    #将本地用户锁定在自家目录中。当此项被激活时,chroot_list_enable和chroot_local_users参数的作用将发生变化,chroot_list_file所指定文件中的用户将不被锁定在自家目录。本参数被激活后,可能带来安全上的冲突,特别是当用户拥有上传、 shell访问等权限时。因此,只有在确实了解的情况下,才可以打开此参数。默认值为NO。
    chroot_local_users=YES
    
    #锁定某些用户在自家目录中。即当这些用户登录后,不可以转到系统的其他目录,只能在自家目录(及其子目录)下。具体的用户在chroot_list_file参数所指定的文件中列出。默认值为NO。
    chroot_list_enable=YES
    
    #定义不能更改用户主目录的文件
    chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
    
    #接受本地用户
    local_enable=YES
    
    #仅在没有pam验证版本时有用,是否检查用户有一个有效的shell来登录
    check_shell=YES
    
    #可以上传(全局控制)
    write_enable=YES
    
    #本地用户上传文件的umask
    local_umask=022
    
    ###############超时设置###############
    #空闲连接超时
    idle_session_timeout=600
    
    ########服务器功能选项###########
    #开启日记功能
    xferlog_enable=YES
    
    #使用标准格式
    xferlog_std_format=YES
    
    #当服务器运行于最底层时使用的用户名
    nopriv_user=nobody
    
    ##########服务器性能选项############
    #绑定到listen_port指定的端口,既然都绑定了也就是每时都开着的,就是那个什么standalone模式
    listen=YES
    
    #############用户连接选项#################
    #使用标准的20端口来连接ftp
    connect_from_port_20=YES
    
    #绑定到某个IP,其它IP不能访问
    listen_address=192.168.0.2
    
    #绑定到某个端口
    listen_port=2121
    
    ##############数据传输选项#################
    #匿名用户的传输比率(b/s)
    anon_max_rate=51200
    
    #本地用户的传输比率(b/s)
    local_max_rate=5120000
    
    ################信息类设置################
    #login时显示欢迎信息.如果设置了banner_file则此设置无效
    ftpd_banner=Welcome to FTP Server.
    
    #允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
    dirmessage_enable=YES

    常见操作

    1)启动/停止: 

    service vsftpd start|stop|restart

    简单方式:killall vsftpd;/usr/local/sbin/vsftpd &

    2)创建用户(本地)

    useradd -d DIR -s /bin/false USER_NAME;

    autopasswd USER_NAME USER_PASSWD

    mkdir -p DIR 

    chown USER_NAME DIR 

    echo USER_NAME >> /etc/vsftpd/vsftpd.user_list

    echo USER_NAME >> /etc/vsftpd/vsftpd.chroot_list

    3)数据传输

     ftp -in 172.1.1.25 20000 -Tget,50000000 -Tput,50000000  # 限制传输速率为 50MB

     ftp -in 172.1.1.25 20000 

    function fu_ftp_data()
    {
        ftp_user=$1
            ftp_pass=$2
            local_path=$3
            ftp_ip=$4
            ftp_port=$5
            ftp_content=$6
            #remote_path=$7
            ( echo "user $ftp_user $ftp_pass"
              echo "bin"
              echo "prompt"
              echo "lcd ${local_path}"
              # echo "cd ${remote_path}"
              echo mput "${ftp_content}"
              echo "quit"
            ) | ftp -n -Tput,1000000 $ftp_ip $ftp_port
    
            if test $? -ne 0
            then
                echo "error ftp"
                exit
            fi
    }

    常见错误

    1)ip或端口错误

    2)用户权限问题:1)用户非ftp用户;2)用户无数据目录的读写权限;3)用户无切换目录权限。

  • 相关阅读:
    移动端开发
    webpack2系列step2--CSS
    webpack2系列step1--HTML
    react+redux官方实例TODO从最简单的入门(6)-- 完结
    react+redux官方实例TODO从最简单的入门(5)-- 查
    react+redux官方实例TODO从最简单的入门(4)-- 改
    react+redux官方实例TODO从最简单的入门(3)-- 删
    react+redux官方实例TODO从最简单的入门(1)-- 前言
    react+redux官方实例TODO从最简单的入门(2)-- 增
    Git 标签管理
  • 原文地址:https://www.cnblogs.com/zhenjing/p/vsftpd_faq.html
Copyright © 2011-2022 走看看