映射个虚拟用户

创建个用户,不让他登录

useradd virftp -s /sbin/nologin

创建存放虚拟用户用户和密码的文件

vim /etc/vsftpd/vsftpd_login

写入

test1
111222aaa
test2
aaa111ddd

给这个文件授权,

chmod  /etc/vsftpd/vsftpd_login

vsfptd 使用的密码文件肯定不是明文的,需要生成对应的库文件

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

创建虚拟账号

创建虚拟账号配置文件存放目录

mkdir /etc/vsftpd/vsftpd_user_conf
cd !$

创建和用户名对应的配置文件

vim test1

添加

local_root=/home/virftp/test1
anonymous_enable=NO
write_enable=YES
local_umask=
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=
data_connection_timeout=
max_clients=
max_per_ip=
local_max_rate=

local_root 该用户的家目录

anonymous_enable用来限制/允许匿名账号登录,no为不允许

write_enable=YES 表示可写

local_umask 指定 umask 值

anon_upload_enable 是否允许匿名账号上传文件

anon_mkdir_write_enable 是否允许匿名账号可写

创建该用户的家目录,更改所属主和所属组

mkdir /home/virftp/test1
chown -R virftp:virftp /home/virftp/test1

修改认证相关的配置文件

vim /etc/pam.d/vsftpd

在最开头添加两行

auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

Linux 为 32 位系统,库文件路径为/lib/security/pam_userdb.so

系统为 64,库文件是在/lib64/security/pam_userdb.so

修改全局配置文件

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES改为anonymous_enable=NO 匿名用户是否可登录

local_enable=YES改为local_enable=NO 本地用户是否可登录,如果虚拟机改为YES

#anon_upload_enable=YES改为anon_upload_enable=NO 匿名用户是否可上传

#anon_mkdir_write_enable=YES改为anon_mkdir_write_enable=NO 匿名用户是否运行创建写入

在最后添加

guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf

重启vsftpd

/etc/init.d/vsftpd restart

测试

如果忘了密码 查看一下test1的密码

cat /etc/vsftpd/vsftpd_login

在家目录创建个文件和目录

mkdir /home/virftp/test1/
touch /home/virftp/test1/.txt

登录

lftp test1@127.0.0.1

可以浏览器输入

ftp://192.168.1.117/

输入账号密码

进入ftp

部署和调优 1.6 vsftp部署和优化-2的更多相关文章

  1. 部署和调优 1.5 vsftp部署和优化-1

    系统自带的ftp服务软件.vsftpd 安装vsftpd yum install -y vsftpd 启动vsftpd /etc/init.d/vsftpd start 如果启动失败,可能是端口被占用 ...

  2. 部署和调优 2.5 tomcat配置和优化

    配置文件 vim /usr/local/tomcat/conf/server.xml 修改 <Connector port=" protocol="HTTP/1.1" ...

  3. 部署和调优 1.9 samba 部署和优化-3

    实践2 要求:共享一个目录,使用用户名和密码登录后才可以访问,要求可以读写 打开配置文件 vim /etc/samba/smb.conf 改为security = user 在最后面增加一段 [den ...

  4. 部署和调优 1.8 samba 部署和优化-2

    Samba 可以实现 Linux 和 Windows 机器相互共享文件,这对我们来说是非常实用的.下面做几个实践,来了解samba,注意:在实践之前,请先检测 Selinux 是否关闭,否则可能会实践 ...

  5. 部署和调优 1.7 samba 部署和优化-1

    Samba服务可以实现linux上共享一个目录,windows上面访问. 安装 yum install -y samba samba-client 配置文件在 vim /etc/samba/smb.c ...

  6. 部署和调优 1.3 pureftp部署和优化-2

    登录ftp,用远程的一台机器,执行 lftp 如果没有这个命令,需要安装 yum install -y lftp 登录ftp lftp ftpuser1@192.168.1.117 输入口令,即密码 ...

  7. 部署和调优 1.3 pureftp部署和优化-1

    FTP 是 File Transfe Protocol(文件传输协议)的英文简称,而中文简称为 “文传协议” 用于 Internet 上的控制件的双向传输. 可以访问    www.pureftpd. ...

  8. 部署和调优 1.1 nfs部署和优化-2

    更改共享目录文件默认的所有者和所属组 已知道客户端有个user11用户 cat /etc/passwd user11:x:501:501::/home/user11:/bin/bash 服务端打开 v ...

  9. 部署和调优 1.1 nfs部署和优化-1

    NFS服务会经常用到,用于在网络上共享存储.举一个例子来说明一下 NFS .假如有三台机器 A.B.C,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到 A.B.C.但是,若使用 ...

随机推荐

  1. db2数据导出导入del与ixf格式区别

    之前做数据迁移的时候遇到乱码的一些坑,总结一下.  一般导入导出: db2 export to /home/xxxx.del of del select * from tablename db2 im ...

  2. Python快速学习-高级特性

    1.切片 取一个list或tuple的部分元素是非常常见的操作 L = ['hello','the','world','and','my','love'] 取前三个元素 L[0:3],L[:3] 取倒 ...

  3. js科里化

    科里化定义如下: 首先将一批函数转入一个函数(然后这个函数返回一个新的函数),这中形式就叫“做科里化”(currying) Function.prototype.curry = function(){ ...

  4. 最实用的 Linux 命令行使用技巧

    我们可能每天都会要使用到很多的 Linux 命令行. 我们也会网络上知晓一些使用它们的小技巧,但是如果我们没有时常来进行练习,就有可能会忘掉怎么去使用它们. 所以我就决定把那些你可能会忘记的小提示和小 ...

  5. spring boot 基础篇 -- 集成接口测试Swagger

    一.在pom.xml加入Swagger jar包引入 <dependency> <groupId>io.springfox</groupId> <artifa ...

  6. mysql 自增长 AUTO_INCREMENT

    Mysql可以使用AUTO_INCREMENT来设定主键的值为自增长的,其默认值是1. 如果想把它的初始值设置为n,可执行:alter table table_name auto_increment= ...

  7. 遍历Newtonsoft.Json.Linq.JObject

    JObject 遍历: 引用命名空间:using Newtonsoft.Json.Linq; JObject _jObject = JObject.Parse("{'ID':'001','M ...

  8. Git_学习_09_Commit message 和 Change log 编写指南

    一.前言 二.Commit message编写 1.规范 2.用空行分开主题和正文 提交时只执行 git commit,这时就会跳出文本编辑器,让你写多行. git commit 主题和正文分开 每次 ...

  9. canvas基础学习(一)

    一.概述 canvas它和其它的HTML5标签的使用基本一致,但是它相当于在浏览器中建立一个画布,可以再这个画布上画图.创建动画甚至是3D游戏.由于canvas要适配不同终端的分辨率,所以尽可能的在标 ...

  10. python 编码 —— codecs 库

    1. 对文件读写 import codecs fout = codecs.open('test.html', 'w', encoding='UTF-8') fout.write('<html&g ...