zoukankan      html  css  js  c++  java
  • ubuntu上vsftpd服务配置

    Ubuntu上提供两种常用的ftp服务应用:vsftpd 和 tftpd,区别如下:

    1)vsftpd 支持客户端上下传文件,支持浏览器显示及下载,支持用户名密码认证,支持匿名访问,默认端口TCP:21

    2)tftpd是一种用于客户端与服务器之间最简单的文件传输软件,不支持及浏览器操作,默认端口UDP:69

    因为要用作资料共享库,所以需要浏览器下载功能,故选择vsftpd。

    一、安装

    sudo aptitude install vsftpd
    

     二、创建根服务目录

    sudo mkdir /home/ftp  #位置可自己定义
    

     三、创建ftp服务用户

    sudo useradd -d /home/ftp -s /bin/bash ftp  #最后的ftp替换也可以替换成其他用户名称
    
    sudo passwd ftp  #给ftp用户设置密码
    

    四、修改vsftpd配置文件

    常用配置说明:

    anonymous_enable=NO #禁止匿名访问
    local_enable=YES #本地主机访问允许
    write_enable=YES #写允许
    anon_upload_enable=YES #匿名上传允许
    anon_mkdir_write_enable=YES  #匿名创建文件夹允许
    dirmessage_enable=YES #进入文件夹允许
    xferlog_enable=YES #ftp 日志记录允许
    connect_from_port_20=YES #允许使用20号端口作为数据传送的端口
    

     vsftpd默认至支持浏览根服务目录(/home/ftp)之上的目录(即 / ),这很危险,所以需要关闭该权限,设置如下:

    # chroot_list_enable below.
    chroot_local_user=YES
    

     上面配置会设置所有用户都不能离开家目录,如果想对个别用户开启特权,则需要添加配置。有两种设置方法:

    1)在/etc/vsftpd.chroot_list中添加特权用户,格式为每个用户一行,在此文件里的用户不受权限约束。

    chroot_local_user=YES
    chroot_list_enable=YES #是否启动限制用户的名单 chroot_list_file=/etc/vsftpd.chroot_list #可在文件中设置多个账号

     2)相反的配置,在/etc/vsftpd.chroot_list中添加用户名称,格式为每个用户一行,在此文件里的用户将不能切换目录。

    chroot_local_user=NO #是否将所有用户限制在主目录
    chroot_list_enable=YES #是否启动限制用户的名单,这里必须为YES,否则不起作用
    chroot_list_file=/etc/vsftpd.chroot_list #可在文件中设置多个账号
    

    五、重启服务

    sudo /etc/init.d/vsftpd restart
    

    六、通过浏览器访问:ftp://<ip-addr>,并输入用户名及密码即可查看

    七、通过浏览器访问,中文文件名显示乱码

        简单处理就是:点击浏览器的“查看”菜单,然后进入“文字编码”,选择Unicode或UTF8,即可正确显示。

        或者修改服务器系统的默认语言为zh_CN.GBK。

    八、如果将vsftpd的根目录(/home/ftp)设置了写权限,则连接ftp服务时会提示如下错误:

    500 OOPS: vsftpd: refusing to run with writable root inside chroot()
    

     两种解决方法:

            1)移除/home/tftp的写权限,创建一个upload子目录,给予777权限,用于文件上传

    sudo chmod a-w /home/tftp
    sudo mkdir /home/tftp/upload
    sudo chmod 777 /home/tftp/upload
    

             2)在/etc/vsftpd.conf里面的“chroot_local_user=YES”下面增加一行使根目录具有写权限(未测试)

      chroot_local_user=YES
      allow_writeable_chroot=YES
    

     参考:https://www.zhukun.net/archives/7654

  • 相关阅读:
    CSS: 三栏布局
    CSS: 实现两栏布局,左边固定,右边自适应的4种方法
    css清除浮动
    浏览器解析时间线
    @Valid解决无法校验List问题
    Docker+Jenkins+Git+Maven实现Springboot项目自动化部署
    Git安装(CentOS)
    Jenkins安装
    Docker安装(Centos)
    Maven安装(Linux)
  • 原文地址:https://www.cnblogs.com/wzc0066/p/6699273.html
Copyright © 2011-2022 走看看