1.安装

apt-get install vsftpd

2.配置 conf

  vim /etc/vsftpd.conf

  

--禁止匿名用户
sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'

是否允许匿名上传文件
sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf'

是否允许匿名用户有创建目录的权利
sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

是否修改匿名用户所上传文件的所有权
sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf'
是否允许运行特殊的ftp命令
sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf'

空白行新加
listen_port=2103
chroot_local_user=YES
allow_writeable_chroot=YES
idle_session_timeout=300
data_connection_timeout=1
guest_enable=YES

guest_username=vsftpd
user_config_dir=/etc/vsftpd/vconf
virtual_use_local_privs=YES
pasv_enable=YES
pasv_min_port=10060
pasv_max_port=10090
accept_timeout=5
connect_timeout=1

3.虚拟用户名单

apt install db-util  如果已有可省略

touch /etc/vsftpd/virtusers
编辑虚拟用户名单文件:(第一行账号,第二行密码,注意:不能使用root做用户名,系统保留)
vi /etc/vsftpd/virtusers

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
chmod 600 /etc/vsftpd/virtusers.db #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取

================PAM=================

在/etc/pam.d/vsftpd的文件头部加入以下信息(在后面加入无效)
修改前先备份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpdbak
vi /etc/pam.d/vsftpd
auth sufficient /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers
注意 pam_userdb.so 不同的系统位置可能不同

4.建立用户

建系统用户vsftpd,用户目录为/home/wwwroot, 用户登录终端设为/bin/false(即使之不能登录系统)
useradd vsftpd -d /home/wwwroot -s /bin/false
chown vsftpd:vsftpd /home/wwwroot -R

5.建立虚拟用户个人Vsftp的配置文件

mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf

touch user1
vi user1#编辑用户web1配置文件,其他的跟这个配置文件类似
local_root=/home/wwwroot/web1/http/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

更改目录所属

chown vsftpd:vsftpd /home/wwwroot/web1/http -R

6.新增用户的情况

  6.1增加虚拟用户及密码

    vi /etc/vsftpd/virtusers

    db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

  6.2用户的配置文件

    cp /etc/vsftpd/vconf/web1 /etc/vsftpd/vconf/web2

    vim  /etc/vsftpd/vconf/web2  修改主目录及权限

  6.3 建立 对应目录并改变所有者为vsftpd

    mkdir /data1/wwwroot/2007/aaa

    chown vsftpd:vsftpd /data1/wwwroot/2007/aaa -R

  6.4 service vsftpd restart 重启

ubuntu 16 阿里云 vsftpd的更多相关文章

  1. Ubuntu使用阿里云软件源

    如果在安装Ubuntu时,选择的地区为美国,建议更新为阿里云或国内 软件源 sudo sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt ...

  2. ubuntu配置阿里云源

    换成国内最快的阿里云源 第一步:备份原来的源文件 cd /etc/apt/ 然后会显示下面的源文件sources.list 输入命令 sudo cp sources.list sources.list ...

  3. ubuntu 使用阿里云 apt 源

    以下内容来自 https://opsx.alibaba.com/mirror Ubuntu对应的“帮助”信息 修改方式:打开 /et/apt/sources.list 将http://archive. ...

  4. 让Ubuntu使用阿里云国内源,解决下载速度慢问题。

    阿里云镜像官方地址 http://mirrors.aliyun.com/ 找到最新源地址列表: http://www.linuxdiyf.com/linux/23163.html 软件包管理中心(推荐 ...

  5. Ubuntu 16.04下vsftpd 安装配置实例

    从https://www.linuxidc.com/Linux/2017-06/144807.htm转载 第一步:安装VSFTPD sudo apt-get install vsftpd 安装完成后启 ...

  6. Ubuntu 16.04安装vsftpd 并开启ftp服务

    1. 安装 sudo apt-get install vsftpd 2.可以使用下列命令来打开,关闭,重启ftp服务 sudo /etc/init.d/vsftpd start sudo /etc/i ...

  7. Ubuntu换阿里云源

    sudo -s cd /etc/apt gedit source.list deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted u ...

  8. Ubuntu更换阿里云数据源

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo vim /etc/apt/sources.list 将里面的内容全部删除修改成 ...

  9. 本地ubuntu 往阿里云ubuntu服务器传文件

    起因 今天在本地ubuntu搭环境,弄好之后需要把本地的文件传到服务器上去... 本想着用xftp直接拖过去,结果连接不上,可能是我太菜了吧,只好百度找方法··· 这里就简单的记录一下吧~ 步骤 sc ...

随机推荐

  1. gcc、make编译

    一 arm-linux-gcc 常用参数 https://www.cnblogs.com/zhangpengshou/p/3587751.html 二 arm-linux-objdump常用参数 ht ...

  2. [LspTrace]ReadAccConfig returns false! QT

    当qt运行出现以下信息时 [LspTrace]ReadAccConfig returns false! [LspTrace]FindMatchingProvider: inInfo is one of ...

  3. AjaxPro对象参数传递

    1.客户端配置 2.服务端注册,配置 对象参数用到的方法 3.Web.config文件配置 需要注意的是ajax以及ajaxpro调用的方法必须是静态方法,如果存在非静态方法可以从页面作为参数传递

  4. (转载)UnityShader学习笔记(七) 让贴图纹理动起来(河流瀑布特效、精灵序列帧实现)

    大家好,我是Zander.这一章我们将使用纹理贴图实现动画.混合和真实特效来达到理想的效果. 纹理贴图可以使我们的着色器快速的实现逼真的效果,但是如果添加的纹理贴图过多,会非常影响游戏性能,特别是在移 ...

  5. JS开发工具WebStorm使用快捷键

    快捷键可以提高开发效率,最好用的就是这些! 代码编辑 Ctrl + d   复制整行 Ctrl + '-/+'  模块折叠 Ctrl + [ ]   括号匹配 Ctrl + F12 结构展示 Shif ...

  6. 在1-10中选择一个数,输出x+xx+xxx+xxx....x之和,如:数字为2,则2+22=24

    代码: package bao; import java.util.Random; public class a { public static void main(String[] args) { ...

  7. Speak Confident English

      I hope you don'd mind me asking...   I know I shouldn't ask, but.... - Well, before I answer that ...

  8. 【转】 ISP-黑电平校正(BLC)

    转自:https://blog.csdn.net/xiaoyouck/article/details/72824534 介绍黑电平(Black Level Correction)也就是黑色的最低点,以 ...

  9. 【转】 C++析构函数的作用和用法

    转自:https://www.cnblogs.com/puyangsky/p/5319470.html 一.定义1. 作用:对象消亡时,自动被调用,用来释放对象占用的空间2.特点:   (1) 名字与 ...

  10. python实现以application/json格式为请求体的http post请求

    接口传递数据格式类型为json格式,如下图抓包查看 Python实现脚本请求接口并以中文打印接口返回的数据 import json import requests url = "https: ...