Ubuntu 中配置FTP服务

793 阅读2分钟
原文链接: blog.sanyuehua.net

安装组件和创建用户

  1. 准备 vsftpd 组件

    sudo apt-get install vsftpd
    (会出现安装询问,选择 yes 进行服务安装)
  2. 组件安装完成之后,会自动的为系统创建一个 ftp 用户,建议修改 ftp 用户的密码

    sudo passwd ftp
  1. 当 ftp 服务安装完成之后会自动创建一个目录: /srv/ftp 目录

    cd /srv/ftp
  2. 为了方便起见,建议将这个目录设置为完全控制: 777

    sudo chmod 777 /srv/ftp

修改配置文件

如果要想让FTP正常的工作,还需要修改一些配置文件

Ubuntu 版本:ubuntu-14.04.5

sudo vim /etc/vsftpd.conf (可以用tab键补全)
  1. 设置不允许匿名登陆,也就是说必须要使用正确的用户名和密码登陆(23行)

    anonymous_enable=NO
  2. 配置用户具有写权限(29行)

    #write_enable=YES(将#号去掉)
  3. 允许本地用户登陆(26行)

    local_enable=YES
  4. 是否将所有的用户限制在主目录(112行)

    #chroot_local_user=YES (这里取消#号)
  5. 定义名单设置的目录(因为在名单中可以设置多个账号)

    #chroot_local_user=YES (这里取消到#号,122行)
  6. 增加一个服务的配置:在122行下面添加

    pam_service_name=vsftpd
  7. 保存退出

    :wq!
  8. 随后会增加一个 /etc/vsftpd.chroot_list 的文件,并且在里面写上访问用户的名字为 ftp

    sudo vim /etc/vsftpd.chroot_list
    输入 ftp
    输入完成后保存退出 :wq
  9. 修改 /etc/pam.d/vsftpd

    sudo vim /etc/pam.d/vsftpd
    注释掉以下内容
    auth required pam_shells.so (第10行)

启动服务并测试

  1. 启动 vsftpd 服务

    service vsftpd start
    service vsftpd restart(重新启动服务信息)
  2. 看看有没有 vsftpd 的进程

    ps -e | grep vsftpd
  3. 进行客户端的信息连接

    这里推荐使用使用 8uftp 软件
    

可能遇到的问题

  • 使用 8uftp 连接失败
    sudo vim /etc/vsftpd.conf
    

    在112行 chroot_local_user=YES 下面增加一行

    allow_writeable_chroot=YES
    

    保存并退出

    :wq
    

    重启 vsftp 服务,即可正常登录

    service vsftpd restart 
    
  • 530错误

    响应: 530 Login incorrect.
    错误: 连接失败
    这个错误是用户名或者密码错误,请检查是否输入正确

  • 550错误

    响应: 550 Permission denied
    错误: 上传失败
    请参照目录修改配置文件中的第二步配置用户具有写权限(29行)
    如果还是无法上传请重启 Ubuntu

【扩展知识】

  • kill 11825 杀死11825进程
  • rm (文件名) 删除这个文件
-------------本文结束 感谢您的阅读-------------