问题描述:

  之前在centos6/7可以快速构建vsftpd服务,在ubuntu上频繁出错。最后发现是vsftpd版本比较新(新增安全特性导致的)

问题解决:

  加上对应参数即可解决问题

window资源管理器登录ftp

ftp://user:pass@ip/xxx/    //账户认证登录

ftp://ip/xxx

ftp://anonymous:@ip/xxx   //匿名登录ftp

ftp://ftp:@ip/xxx

部署环境:

01、系统发行版本

02、vsftpd版本

apt-get install -y vsftpd

 03、匿名登录ftp

/etc/vsftpd.conf

  1. listen=YES
  2. anonymous_enable=YES
  3. local_enable=NO
  4. write_enable=YES
  5. local_umask=
  6. anon_upload_enable=YES
  7. anon_mkdir_write_enable=YES
  8. #人工定义根目录
  9. anon_root=/ldata/ftp_pub
  10. allow_writeable_chroot=YES
  11. chroot_local_user=NO

注意:结尾不能有空格,血的教训

mkdir -p /ldata/ftp_pub      ###进入后的跟目录

mkdir /ldata/ftp_pub/pub   ###匿名帐户可以出创建删除文件的目录

chown -R ftp:ftp /ldata/ftp_pub

chmod a-w /ldata/ftp_pub

04、匿名登录测试

systemctl restart vsftpd       ###观察服务是否启动正常    ss -lnt|grep 21

journalctl -u vsftpd -f     ###日志是否正常

  1. root@bogon:~# ftp localhost //注意也可以使用IP登录
  2. ftp: connect to address ::: Connection refused
  3. Trying 127.0.0.1...
  4. Connected to localhost.
  5. (vsFTPd 3.0.)
  6. Name (localhost:user): ftp //匿名登录可以使用的账户 ftp/anonymous密码不用填写
  7. Please specify the password.
  8. Password:
  9. Login successful. //登录成功
  10. Remote system type is UNIX.
  11. Using binary mode to transfer files.
  12. ftp> dir //注意根目录不能创建目录及上传文件,需要在pub目录下
  13. PORT command successful. Consider using PASV.
  14. Here comes the directory listing.
  15. drwxr-xr-x Aug : pub
  16. Directory send OK.
  17. ftp> cd pub
  18. Directory successfully changed.
  19. ftp> dir
  20. PORT command successful. Consider using PASV.
  21. Here comes the directory listing.
  22. drwx------ Aug : cd
  23. drwx------ Aug : sb
  24. Directory send OK.
  25. ftp> mkdir good
  26. "/pub/good" created
  27. ftp> cd good
  28. Directory successfully changed.
  29. ftp> touch sb
  30. ?Invalid command
  31. ftp> mkdir sb
  32. "/pub/good/sb" created
  33. ftp>

 05、linux本地账户登录

###本地账户登录进入根目录/home/xxx/

  1.  

root@bogon:/etc# cat vsftpd.conf
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES  //本地账户许可登录ftp
write_enable=YES
local_umask=022

dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
idle_session_timeout=600
data_connection_timeout=120

  1.  

ascii_upload_enable=YES
ascii_download_enable=YES

  1.  

secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
utf8_filesystem=YES
allow_writeable_chroot=YES

  1.  

#指定本地账户可以登录ftp

userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/ftpuser_list   //清单中的账户可以登录ftp

root@bogon:/etc# cat ftpuser_list
ftp_test

local_root=/ldata/ftp_data     //指定本地登录账户的根目录,

chown -R ftp_test: /ldata/ftp_data    //把可以登录账户的权限赋值正确

06、用户登录测试

注意:man 5 vsftpd.conf  //查看详细的参数配置及含义

ubuntu16.04部署vsftpd的更多相关文章

  1. 基于ubuntu16.04部署IBM开源区块链项目-弹珠资产管理(Marbles)

    前言 本教程基本上是对Marbles项目的翻译过程. 如果英文比较好的话,建议根据官方操作说明,一步步进行环境部署.当然你也可以参考本教程在自己的主机上部署该项目. Marbles 介绍 关于 Mar ...

  2. ubuntu16.04 部署配置LVS主从

    实验环境---ubuntu16.04 四台机器:10.211.55.13—55.16 具体实验环境配置如下: 10.211.55.102  LVS_VIP 10.211.55.13  LVS_MAST ...

  3. disconf实践(一)Ubuntu16.04部署disconf

    在企业中,随着公司业务的扩张,用户量的增大,单一节点应用无法支撑正常的业务逻辑,比较常见的现象是访问速度变慢,甚至超时,严重时可能会造成系统宕机.为了尽量减少宕机的风险,单一节点系统需要进行水平扩展, ...

  4. Ubuntu16.04部署python2和python3共存的Jupyter Notebook

    一.安装python和python-pip sudo apt-get install python python3 python-pip python3-pip sudo pip install -- ...

  5. Ubuntu16.04部署phantomjs的一个问题

    首先phantomjs是作为pyspider的一个外部依赖组件部署的. apt安装完出现问题: QXcbConnection: Could not connect to display Phantom ...

  6. Ubuntu16.04 部署安装Docker容器 & 注意事项

    一.部署安装Docker容器 1.1 Ubuntu下安装 crul sudo apt install curl curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多 ...

  7. ubuntu16.04部署RED5流媒体服务器

    前提:jdk已经安装 1,下载RED5(https://github.com/Red5/red5-server/releases)选择red5-server-X.X.X-MXX.tar.gz 2,解压 ...

  8. Ubuntu16.04 部署配置GO语言开发环境 & 注意事项

    1. 安装GO 安装go语言包: $ curl -O https://storage.googleapis.com/golang/go1.10.1.linux-amd64.tar.gz   下载完成后 ...

  9. 阿里云 Ubuntu16.04 部署 LAMP

    1.更新软件源 sudo apt-get update 2.安装Apache sudo apt-get install apache2 3.查看Apache是否安装成功 apache2 –v 如下所示 ...

随机推荐

  1. MySQL使用存储过程实现判断表中字段或者索引是否存在,如果不存在则创建

    使用存储过程可以保证数据库升级脚本可以重复执行而不会报错. CREATE TABLE `tb_user` ( `id` ) NOT NULL COMMENT '非自增id', `account` ) ...

  2. web.py小记

    what's the web.py 相比于 Django 和 Flask,web.py 是轻量到不能再轻量的 web 框架,所有的功能都需要自己实现,所有不适合中大型 web 的开发,不过对于简单的 ...

  3. Angular8开发拼多多WebApp_汇总贴

    https://coding.imooc.com/class/336.html?mc_marking=b9f5e475d0cb8922d899d416f5b4433f&mc_channel=s ...

  4. 利用nvidia-smi 管理和监控NVIDIA GPU设备

    NVIDIA系统管理界面介绍 原文来源:https://developer.nvidia.com/nvidia-system-management-interface NVIDIA系统管理界面(nvi ...

  5. iOS - 截取数组前几个元素放入新的数组,剩余的放入另外一个数组

    NSArray *array = [NSArray arrayWithObjects:@"Crystal",@"Maisie",@"Lukas&quo ...

  6. ETF:现金替代标志

    替代标志.表示该成份证券是否可被现金替代 0 – 沪市不可被替代 1 – 沪市可以被替代 2 – 沪市必须被替代 3 – 深市退补现金替代 4 – 深市必须现金替代 5 – 非沪深市场成分证券退补现金 ...

  7. npm 的一些命令

    查看项目中是否安装某个插件 npm [name] -v [name] 为要查询的插件的名字,如果已经安装就会显示该插件的版本号 npm list 查看项目中所有已安装的插件

  8. 【Docker学习之三】Docker查找拉取镜像、启动容器、容器使用

    环境 docker-ce-19.03.1-3.el7.x86_64 CentOS 7 一.查找.拉取镜像.启动容器1.查找镜像-docker search默认查找Docker Hub上的镜像,举例:D ...

  9. 关于【vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据】的优化

    之前写的[vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据]这篇博客.功能虽然实现了相对应的功能.但是用起来很不爽.所以进行了优化. 备注:最近可能没时 ...

  10. 【jquery】【ztree】节点添加自定义按钮、编辑和删除事件改成自己定义事件

    setting添加 edit: { drag: { isCopy: false, isMove: true }, enable: true,//设置是否处于编辑状态 showRemoveBtn: sh ...