ubuntu16.04部署vsftpd
问题描述:
之前在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
listen=YES
anonymous_enable=YES
local_enable=NO
write_enable=YES
local_umask=
anon_upload_enable=YES
anon_mkdir_write_enable=YES
#人工定义根目录
anon_root=/ldata/ftp_pub
allow_writeable_chroot=YES
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 ###日志是否正常
root@bogon:~# ftp localhost //注意也可以使用IP登录
ftp: connect to address ::: Connection refused
Trying 127.0.0.1...
Connected to localhost.
(vsFTPd 3.0.)
Name (localhost:user): ftp //匿名登录可以使用的账户 ftp/anonymous密码不用填写
Please specify the password.
Password:
Login successful. //登录成功
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir //注意根目录不能创建目录及上传文件,需要在pub目录下
PORT command successful. Consider using PASV.
Here comes the directory listing.
drwxr-xr-x Aug : pub
Directory send OK.
ftp> cd pub
Directory successfully changed.
ftp> dir
PORT command successful. Consider using PASV.
Here comes the directory listing.
drwx------ Aug : cd
drwx------ Aug : sb
Directory send OK.
ftp> mkdir good
"/pub/good" created
ftp> cd good
Directory successfully changed.
ftp> touch sb
?Invalid command
ftp> mkdir sb
"/pub/good/sb" created
ftp>
05、linux本地账户登录
###本地账户登录进入根目录/home/xxx/
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
ascii_upload_enable=YES
ascii_download_enable=YES
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
#指定本地账户可以登录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的更多相关文章
- 基于ubuntu16.04部署IBM开源区块链项目-弹珠资产管理(Marbles)
前言 本教程基本上是对Marbles项目的翻译过程. 如果英文比较好的话,建议根据官方操作说明,一步步进行环境部署.当然你也可以参考本教程在自己的主机上部署该项目. Marbles 介绍 关于 Mar ...
- ubuntu16.04 部署配置LVS主从
实验环境---ubuntu16.04 四台机器:10.211.55.13—55.16 具体实验环境配置如下: 10.211.55.102 LVS_VIP 10.211.55.13 LVS_MAST ...
- disconf实践(一)Ubuntu16.04部署disconf
在企业中,随着公司业务的扩张,用户量的增大,单一节点应用无法支撑正常的业务逻辑,比较常见的现象是访问速度变慢,甚至超时,严重时可能会造成系统宕机.为了尽量减少宕机的风险,单一节点系统需要进行水平扩展, ...
- Ubuntu16.04部署python2和python3共存的Jupyter Notebook
一.安装python和python-pip sudo apt-get install python python3 python-pip python3-pip sudo pip install -- ...
- Ubuntu16.04部署phantomjs的一个问题
首先phantomjs是作为pyspider的一个外部依赖组件部署的. apt安装完出现问题: QXcbConnection: Could not connect to display Phantom ...
- Ubuntu16.04 部署安装Docker容器 & 注意事项
一.部署安装Docker容器 1.1 Ubuntu下安装 crul sudo apt install curl curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多 ...
- ubuntu16.04部署RED5流媒体服务器
前提:jdk已经安装 1,下载RED5(https://github.com/Red5/red5-server/releases)选择red5-server-X.X.X-MXX.tar.gz 2,解压 ...
- Ubuntu16.04 部署配置GO语言开发环境 & 注意事项
1. 安装GO 安装go语言包: $ curl -O https://storage.googleapis.com/golang/go1.10.1.linux-amd64.tar.gz 下载完成后 ...
- 阿里云 Ubuntu16.04 部署 LAMP
1.更新软件源 sudo apt-get update 2.安装Apache sudo apt-get install apache2 3.查看Apache是否安装成功 apache2 –v 如下所示 ...
随机推荐
- 接口项目servlet的一种处理方式,将异常返回给调用者【我】
接口项目servlet的一种处理方式,其他层有异常全部网上抛,抛到servlet层,将异常返回给调用者: Servlet层: private void processRequest(HttpServl ...
- bilibili投屏到电脑
bilibili投屏到TV B栈上有丰富的视频资源,电视盒子小米,自带匹配的投屏功能. 但是如何将哔哩哔哩投屏到电脑上? bilibili投屏到PC上 万能的知乎给出了答案. https://www. ...
- WEBSHELL-恶意代码检测
静态查杀 提取特征写成规则库,调用规则库查杀.基于规则,会比较快,但漏报.误报会比较明显,一般的Webshell一句话木马变形混淆会比较多. yara规则 $eval = /(<\?php|[; ...
- myeclipse An internal error occurred during: "Initialize metrics".
重新安装的myeclipse,在打开的时候弹出: An internal error occurred during: "Initialize metrics". com/g ...
- html5传感器
html5传感器(注意苹果和安卓方向是相反的 回调函数触发的速度苹果要快很多 设置坐标不要设置在回调函数里)以下是代码<pre><!DOCTYPE html><html ...
- 测试标题CSS样式
标题1 内容1 标题2 内容2 标题3 内容3
- 【LOJ502】[LibreOJ β Round] ZQC 的截图 (随机化)
真的是神仙题目啊-- 题目 LOJ502 官方题解 我认为官方题解比我讲得好. 分析 这是一道蒙特卡洛算法的好题 上面那个奇奇怪怪的词是从官方题解里看到的,意思大概就是随机化算法 -- ? 一句话题意 ...
- 重置 Bootstrap modal 模态框数据
利用 Bootstrap modal 模态框弹层添加或编辑数据,第二次弹出模态框时总是记住上一次的数据值,stackoverflow 上找到个比较好的方法,就是利用 jQuery 的 clone 方法 ...
- CF1109F Sasha and Algorithm of Silence's Sounds LCT、线段树
传送门 构成一棵树可以分成两个限制:图不成环.图的点数-边数=1. 我们考虑枚举右端点\(r\)计算所有可能的左端点\(l\)的答案.我们先考虑第一个限制:图不成环.注意到当\(r\)确定的时候,满足 ...
- 2.NET Core设定数据库种子
1.使用以下代码在 Models 文件夹中创建一个名为 SeedData 的新类: using Microsoft.EntityFrameworkCore;using Microsoft.Extens ...