• centos安装VSFTP


    1.此次为了测试了解一下,VSFTP,采用RPM包安装方式

    nvsftpd的安装
    qrpm –qa | grep vsftpd
    qrpm –ivh vsftpd-1.1.3-8.i386.rpm
    n启动
    qservice vsftpd start/stop/restart

    qps –A | grep vsftpd

    首先
    rpm -qa | grep vsftpd           ---------查看有无安装,若没有,则要安装,我采用的是yum
    yum install vsftpd
    见下:
    [root@ftp sbin]# yum install vsftpd
    [root@ftp sbin]# service vsftpd status
    vsftpd is stopped
    [root@ftp sbin]# service vsftpd start
    Starting vsftpd for vsftpd:                                [ OK ]

    [root@ftp sbin]#

    2.设置每次开机时自动运行及手工启动它:
    chkconfig vsftpd on
    service vsftpd start
    netstat -tl    可以查看ftp端口是否在侦听了!

    相关配置文件:/etc/vsftpd/vsftpd.conf里面;

    3.至此已经可以FTP已经可以正常运行了,
    4.FTP配置参考以下设置:

    关于主机的设定值
    connect_from_port_20=YES (NO)
     这个设定项目在启动主动联机的port 20
    listen_port=21
     使用的vsftpd命令通道的port number设定,如果想要使用非
     正规的ftp port,在这个设定项目修改吧!
    dirmessage_enable=YES (NO)
     当使用者进入某个目录时,会显示该目录需要注意的内容,显示的
     档案预设是.message,当然,可以使用底下的设定项目来修订!
    message_file=.message
     当dirmessage_enable=YES时,可以设定这个项目来让vsftpd
     寻找该档案来显示讯息!您也可以设定其它档名
    listen=YES (NO)
     若设定为YES表示vsftpd是以standalone的方式来启动的!
    pasv_enable=YES (NO)
     启动被动式联机(passive mode),一定要设定为YES
    use_localtime=YES (NO)
     是否使用主机的时间?!预设使用GMT时间(格林威治)
    write_enable=YES (NO)
     是否允许使用者具有写入的权限?这包括删除与修改等功能!
    connect_timeout=60
     单位是秒,如果client尝试连接我们的vsftpd命令通道超过60秒,
     则不等待,强制断线咯。
    accept_timeout=60
     当使用者以被动式PASV来进行数据传输时,如果主机启用passive
       port 并等待client超过60秒,那么就给他强制断线!
    data_connection_timeout=300
     如果client与Server间的数据传送在300秒内都无法传送成功,
     那Client的联机就会被我们的vsftpd强制剔除!
    idle_session_timeout=300
     如果使用者在300秒内都没有命令动作,强制离线!
    max_clients=0
     如果vsftpd是以stand alone方式启动的,可以设定同一时间最多有多少client可以同时连上vsftpd
    max_per_ip=0
      是同一个IP同一时间可允许多少联机?
    connect_from_port_20=YES
       使用标准的20端口来连接ftp
    listen_address=192.168.0.2
       绑定到某个IP,其它IP不能访问

     

    关于匿名者登入的设定值
    anonymous_enable=YES (NO)
     设定为允许anonymous登入我们的vsftpd主机!预设是YES,底下的
       所有相关设定都需要将这个设定为anonymous_enable=YES后生效!
    anon_world_readable_only=YES (NO)
     仅允许anonymous具有下载可读档案的权限,预设是YES。
    anon_other_write_enable=YES (NO)
     是否允许anonymous具有写入的权限?预设是NO!如果要设定为
       YES,那么开放给anonymous写入的目录亦需要调整权限,让vsftpd
       的PID拥有者可以写入才行!
    anon_mkdir_write_enable=YES (NO)
     是否让anonymous具有建立目录的权限?默认值是NO!如果要设定为
       YES,那么anony_other_write_enable必须设定为YES!
    anon_upload_enable=YES (NO)
     是否让anonymous具有上传数据的功能,预设是NO,如果要设定为
       YES,则anon_other_write_enable=YES必须设定。
    no_anon_password=YES (NO)
     当设定为 YES 时,表示 anonymous 将会略过密码检验步骤,
     而直接进入 vsftpd 服务器内喔!所以一般预设都是 NO 的!
    anon_max_rate=0
     这个设定值后面接的数值单位为 bytes/秒,限制 anonymous 的传输
      速度,如果是 0 则不限制(由最大频宽所限制),如果您想让
      anonymous 仅有  30 KB/s 的速度,可以设定
      『anon_max_rate=30000』
    anon_umask=077
     限制 anonymous 的权限!如果是 077 则 anonymous 传送过来的档案
     权限会是 -rw-------


    关于本地用户登入的设定值
    local_enable=YES  # default NO
    local_umask=022
    userlist_deny  为NO时,仅允许/etc/vsftpd/user_list中的用户登录ftp
    userlist_deny  为YES时(默认),不允许/etc/vsftpd/user_list中的用户登录ftp
    /etc/vsftpd/ftpusers  强制文件中列出的用户不可登录ftp

    guest_enable=YES (NO)
     若这个值设定为 YES 时,那么任何非 anonymous 登入的账号,均会被
     假设成为 guest (访客) 喔!
    local_enable=YES (NO)
     这个设定值必须要为 YES 时,在 /etc/passwd 内的账号才能以
     实体用户的方式登入我们的 vsftpd 主机喔!
    local_max_rate=0
     实体用户的传输速度限制,单位为 bytes/second, 0 为不限制。
    chroot_local_user=YES (NO)
     将使用者限制在自己的家目录之内(chroot)!这个设定在 vsftpd
     当中预设是 NO,因为有底下两个设定项目的辅助
     所以不需要启动他!
    chroot_list_enable=YES (NO)
     是否启用将某些实体用户限制在他们的家目录内?预设是 NO ,
     不过,如果想要让某些使用者无法离开他们的家目录时,
     可以考虑将这个设定为 YES ,并且规划下个设定值
    chroot_list_file=/etc/vsftpd.chroot_list
     如果 chroot_list_enable=YES 那么就可以设定这个项目了!他里面
       可以规定那一个实体用户会被限制在自己的家目录内而无法离开!
        (chroot) 一行一个账号即可!
    userlist_deny=YES (NO)
     若此设定值为 YES 时,则当使用者账号被列入到某个档案时,在该档
       案内的使用者将无法登入 vsftpd 服务器!该档案文件名与下列设定项
         目有关。
    userlist_file=/etc/vsftpd.user_list
     若上面 userlist_deny=YES 时,在这个档案内的账号都无法使用
         vsftpd




    关于系统安全的设定值
    ascii_download_enable=YES (NO)
     如果设定为 YES ,那么 client 就可以使用 ASCII 格式下载档案。
     一般来说,由于启动了这个设定项目可能会导致 DoS 的攻击,因此预
         设是NO。
    ascii_upload_enable=YES (NO)
     与上一个设定类似的,只是这个设定针对上传而言!预设是 NO。
    async_abor_enable=YES (NO)
     如果您的 FTP client 会下达“async ABOR”这个指令时,这个设定才
      需要启用一般来说,由于这个设定并不安全,所以通常都是将他取的!
    check_shell=YES (NO)
      如果想让拥有任何奇怪的 shell 的使用者(在 /etc/passwd 的 shell 字段) 可以使用 vsftpd 的话,这个设定可以设定为 NO
    xferlog_enable=YES (NO)
     当设定为 YES 时,使用者上传与下载档案都会被纪录起来。记录档案
     与下一个设定项目有关:
    xferlog_file=/var/log/vsftpd.log
     如果上一个 xferlog_enable=YES 的话,这里就可以设定了!
     这个是登录档的档名
    xferlog_std_format=YES (NO)
     是否设定为 wu ftp 相同的登录档格式?预设为 NO ,因为登录档会比
        较容易读!不过,如果您有使用 wu ftp 登录文件的分析软件,这里才
         需要设定为 YES
    nopriv_user=nobody
     vsftpd 预设以 nobody 作为此一服务执行者的权限。因为 nobody 的
        权限相当的低,因此即使被入侵,入侵者仅能取得 nobody 的权限
    pam_service_name=vsftpd
     是 pam 模块的名称,放置在 /etc/pam.d/vsftpd



    针对仅有开放实体用户登入的设定

    1.使用本地的时间而不是 GMT 时间;
    2.所有在 /etc/passwd 里面出现的实体账号均能登入 vsftpd 主机;
    3.但是系统账号 (如 root 等, UID 小于 500 的账号)均不能使用 vsftpd ;
    4.而且由于 user1 与 user2 这两个账号使用者被关在自己的家目录当中(chroot);
    5.并且限制数据的传输速度为 100 Kbytes/second;
    6.当使用者进入 /home 这个目录时,显示:『hello』的字样在 Client 端的屏幕上;
    7.使用者可以进行上传、下载以及修改档案等等动作


    1、[root@test root]# vi /etc/vsftpd/vsftpd.conf (或 /etc/vsftpd.conf)
    # 关于主机与安全性的设定
    use_localtime=YES
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    pam_service_name=vsftpd
    tcp_wrappers=YES
    # 关于 anonymous 的设定
    anonymous_enable=NO
    # 关于 Real User 的设定
    local_enable=YES
    write_enable=YES
    local_umask=022
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd.chroot_list
    userlist_deny=YES
    userlist_file=/etc/vsftpd.user_list
    local_max_rate=100000
    2、限制实体用户在自己的家目录内 (chroot) 的设定档
    [root@test root]# vi /etc/vsftpd.chroot_list
    user1
    user2
    # 没有写到这个档案内的其它用户,就可以离开自己的家目录,
    # 而到其它目录里面去浏览了!

    3、以 PAM 模块限制某些账号无法登入主机的设定
    [root@test root]# vi /etc/pam.d/vsftpd
    # 会发现这样的字句:
    auth ..... file=/etc/vsftpd.ftpusers ....
    # 那个 file=.. 后面接的文件名就是以 PAM 模块抵挡的账号内容了
    或者以 userlist_file 抵挡某些账号的登入
    [root@test root]# vi /etc/vsftpd.user_list
    # 这个档案的设定与上面 /etc/vsftpd.ftpusers 相同即可

    4、设定进入目录时,显示的讯息:
    [root@test root]# vi /home/.message
    hello


    针对仅有开放匿名使用者登入的设定
    1.使用本地的时间,而非 GMT 时间;
    2.仅开放 anonymous 的登入;
    3.档案传输的速限为 30 Kbytes/second;
    4.允许 anonymous 上传档案到 /var/ftp/upload 这个目录当中,并且允许 anonymous 建立目录;
    5.数据连接的过程 (不是命令通道!) 只要超过 60 秒没有回应,就强制 Client 断线!
    6.只要 anonymous 超过十分钟没有动作,就予以断线;
    7.被动式连接的端口为 65400 到 65420 这几个 port number 即可;
    8.最大同时上线人数限制为 50 人,且同一 IP 来源最大联机数量为 5 人;
    9.不许使用 ASCII 格式上传或下载!


    1、[root@test root]# vi /etc/vsftpd/vsftpd.conf
    # 与主机与安全性有关的设定
    use_localtime=YES
    write_enable=YES
    dirmessage_enable=YES
    xferlog_enable=YES
    xferlog_file=/var/log/vsftpd.log
    data_connection_timeout=60
    idle_session_timeout=600
    max_clients=50
    max_per_ip=5
    ascii_upload_enable=NO
    ascii_download_enable=NO
    connect_from_port_20=YES
    pasv_min_port=65400
    pasv_max_port=65420
    pam_service_name=vsftpd
    tcp_wrappers=YES
    nopriv_user=ftp

    # 关于 anonymous 的设定
    anonymous_enable=YES
    anon_other_write_enable=YES
    anon_mkdir_write_enable=YES
    anon_upload_enable=YES
    deny_email_enable=YES
    banned_email_file=/etc/vsftpd.banned_emails
    anon_max_rate=30000
    # 关于 real user 的设定
    local_enable=NO

    2、建立可以上传的目录

    # 因为我们的 nopriv_user 设定为 ftp ,所以上传的目录拥有者为 ftp
    [root@test root]# mkdir -p /var/ftp/upload
    [root@test root]# chown ftp /var/ftp/upload

    用户登陆限制进其它的目录,只能进它的主目录
    设置所有的本地用户都执行chroot
    Chroot_local_user=yes (本地所有帐户都只能在自家目录)
    设置指定用户执行chroot
    Chroot_list_enable=yes (文件中的名单可以调用)
    Chroot_list_file=/任意指定的路径/vsftpd.chroot_list
    注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可

    限制本地用户访问FTP
    Userlist_enable=yes (用userlistlai 来限制用户访问)
    Userlist_deny=no (名单中的人不允许访问)
    Userlist_file=/指定文件存放的路径/ (文件放置的路径)
    注:开启userlist_enable=yes匿名帐号不能登陆

  • 相关阅读:
    如何在SpringMVC项目中部署WebService服务并打包生成客户端
    Spring MVC前后端数据交互总结
    JAVA总结---序列化的三种方式
    jackson中的@JsonBackReference和@JsonManagedReference,以及@JsonIgnore
    Jackson-deserialization fails on circular dependencies(JackSon无限递归问题)
    @JsonIgnore @JsonIdentityInfo 处理Hibernate 循环引用的问题
    hibernate中因双向依赖而造成的json怪相--springmvc项目
    jackson java转json hibernate懒加载造成的无限递归问题
    C/C++使用心得:enum与int的相互转换
    浅析长子继承制对英国社会的影响
  • 原文地址:https://www.cnblogs.com/myphoebe/p/2230139.html
Copyright © 2020-2023  润新知