安装vsftp

 yum install vsftpd -y

安装完成之后进入vsftp的配置文件夹

cd /etc/vsftpd/

文件夹内容如下

[root@VM-0-12-centos vsftpd]# ll
total 20
-rw------- 1 root root 125 Oct 14 00:10 ftpusers
-rw------- 1 root root 361 Oct 14 00:10 user_list
-rw------- 1 root root 5116 Oct 14 00:10 vsftpd.conf
-rwxr--r-- 1 root root 338 Oct 14 00:10 vsftpd_conf_migrate.sh

在当前目录下创建一个用户名和密码的文件

文件名名称为 ftp_user.txt

vim /etc/vsftpd/ftp_user.txt

再ftp_user.txt文件里配置用户和密码

yvioo
123456
kaifa
12345678

其中

yvioo 是ftp登录的用户名

123456 是ftp中yvioo用户登录的密码

kaifa 是ftp登录的用户名

12345678 是ftp中kaifa用户登录的密码

以此内推,可以添加多个

然后保存退出

wq!

执行命令 生成虚拟数据库

db_load -T -t hash -f /etc/vsftpd/ftp_user.txt /etc/vsftpd/ftp_login.db

其中

/etc/vsftpd/ftp_user.txt 是上面存放用户名和密码文件的绝对路径

/etc/vsftpd/ftp_login.db  这个是生成的数据库的路径 数据库名称为 ftp_login.db

设置生成的数据库的访问权限

chmod 777 /etc/vsftpd/ftp_login.db 

编辑账号的pam验证文件

vim /etc/pam.d/vsftpd

在最上方增加

auth    sufficient      pam_userdb.so db=/etc/vsftpd/ftp_login
account sufficient pam_userdb.so db=/etc/vsftpd/ftp_login

其中

db=/etc/vsftpd/ftp_login 这个就是上一步生成的虚拟数据库(文件名称根据自己的来),注意:这里不用加 .db 后缀

如下图所示

创建一个文件夹

mkdir /home/vsftpd

新建一个系统用户vsftpd

用户登录终端设为/bin/false(即不能登录系统)

useradd vsftpd -d /home/vsftpd -s /bin/false 

其中

vsftpd   这个就是创建的用户的用户名(这个下面配置文件里会使用)

/home/vsftpd  就是刚才创建的文件夹

根据需要创建修改/etc/vsftpd/vsftpd.conf,以下设置

vim /etc/vsftpd/vsftpd.conf

修改配置

#禁用匿名登入

anonymous_enable=YES 改为 anonymous_enable=NO

#监听为专用模式

listen=NO 改为   listen=YES

#将ipv6监听注释掉

listen_ipv6=YES 改为 #listen_ipv6=YES

在配置文件底部增加

#对用户访问只限制在主目录 不能访问其他目录(这个已经有了 但是默认是注释的 可以取消注释或者直接新增)
chroot_local_user=YES

#启用guest
guest_enable=YES

#使用虚拟账号形式(vsftpd 就是我们上面创建的用户的用户名)
guest_username=vsftpd

#虚拟账号配置目录(这个还没创建 我们下面再进行创建,先这样写)
user_config_dir=/etc/vsftpd/user_conf

#对vsftpd的用户使用pam认证

(这个就是我们上面改的pam验证文件的文件名,这个默认已经有了,所以不用添加, 没有的话再添加)
pam_service_name=vsftpd

#允许本地用户登录(这个默认的也有了,没有的话添加上)

local_enable=YES

然后保存退出

接着创建虚拟账号配置目录

mkdir /etc/vsftpd/user_conf

进入文件夹

cd /etc/vsftpd/user_conf/

创建文件

vim /etc/vsftpd/user_config/yvioo

其中

yvioo 就是我们上面ftp_user.txt中配置的ftp的账号的用户名

(这里创建的文件名要对应上,如果有多个ftp用户就创建多个ftp文件对应的用户名文件,然后在里面设置权限即可)

然后添加

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/data/www

说明如下

#是否允许登陆用户有写权限。属于全局设置,默认值为YES。
write_enable=YES
#如果设为YES,则允许匿名登入者下载可阅读的档案(可以下载到本机阅读,不能直接在FTP服务器中打开阅读)。默认值为YES。
anon_world_readable_only=NO
#如果设为YES,则允许匿名登入者有上传文件(非目录)的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。
anon_upload_enable=YES
#如果设为YES,则允许匿名登入者有新增目录的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。
anon_mkdir_write_enable=YES
#如果设为YES,则允许匿名登入者更多于上传或者建立目录之外的权限,譬如删除或者重命名。(如果 anon_upload_enable=NO,则匿名用户不能上传文件,但可以删除或者重命名已经存在的文件;如果 anon_mkdir_write_enable=NO,则匿名用户不能上传或者新建文件夹,但可以删除或者重命名已经存在的文件夹。)默认值为NO。
anon_other_write_enable=YES
#当本地用户登入时,将被更换到定义的目录下。默认值为各用户的家目录。可以自己修改
local_root=/data/www

可以根据自己的需要添加,如果想拥有所有权限 就都加入

然后保存退出

给要远程的目录local_root添加权限

chmod 777 /data/www/

接着重启服务

#启动
service vsftpd start
#重启
service vsftpd restart

然后就可以用软件,使用用户名:yvioo   密码:123456 访问远程文件了

如果出现

连接失败
OOPS: vsftpd: refusing to run with writable root inside chroot()

出现这个报错

这是因为从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

我们在修改配置文件 在底部增加

allow_writeable_chroot=YES

然后重启即可

Linux(Centos)配置vsftp使用账号密码(虚拟用户)登录ftp进行文件上传和修改的更多相关文章

  1. 两台linux之间建立信任关系,实现免密码ssh远程登录或scp数据上传

    两台linux之间建立信任关系,实现免密码远程登录或数据上传 1.执行ssh-keygen命令,生成建立安全信任关系的证书: linux1上:执行命令  ssh-keygen  -t rsa 在程序提 ...

  2. Linux安装配置vsftp搭建FTP的详细配置

    这里主要是说vsftp的配置:基础的可以参考Linux中VSFTP的配置 转自:https://www.jb51.net/article/103904.htm 修改配置文件 配置文件/etc/vsft ...

  3. CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

    概述 最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白.Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建.FT ...

  4. Linux Centos 通过虚拟用户访问FTP的配置

    Linux Centos 通过虚拟用户访问FTP的配置 实验需求: 让下面4个虚拟用户使用系统用户ftpvu的权限来连接到Linux FTP服务器,并确保都锁定在 自己的虚拟用户目录,不能切换到其他目 ...

  5. Linux CentOS 配置Tomcat环境

    一.下载Tomcat 下载Tomcat方式也有两种,可以参考我的前一篇博文Linux CentOS配置JDK环境,这边就不再赘述. 二.在Linux处理Tomcat包 1.创建tomcat文件夹 mk ...

  6. vsftp虚拟用户登录配置详解

    一.安装:1.安装Vsftpd服务:# yum install vsftpd 2.安装DB4部件包:这里要特别安装一个db4的包,用来支持文件数据库.# yum install db4-utils 二 ...

  7. 基于虚拟用户登录的ftp服务配置

    文章结构:             一.使用逻辑卷配置ftp数据存放目录             二.安装和配置vsftpd服务             三.使用不通权限的用户访问ftp服务器 系统环 ...

  8. SpringMVC第五篇【方法返回值、数据回显、idea下配置虚拟目录、文件上传】

    Controller方法返回值 Controller方法的返回值其实就几种类型,我们来总结一下-. void String ModelAndView redirect重定向 forward转发 数据回 ...

  9. linux CentOS 安装rz和sz命令 lrzsz 实现windows和linux之间的文件上传 下载

    https://blog.nbhao.org/1902.html https://bbs.csdn.net/topics/391989523 https://www.cnblogs.com/zhoul ...

随机推荐

  1. C++ and OO Num. Comp. Sci. Eng. - Part 4.

    命名空间与文件(Namespaces and Files) 在 C++ 中,命名空间为包含相关声明与定义的逻辑单元. 将一个大程序分割为不同部分并且将其储存在不同的文件中可以实现模块化编程. 未命名的 ...

  2. 金蝶EAS——客户端打开时,提示正在更新的文件d:\eas\client\bin\lib\proxy.jar被其他应用程序占用.请关闭

    解决办法: 一.通过调用任务管理器来退出,启用任务管理器需同时按下键Ctrl+Alt+Del,在应用程序中找到金蝶EAS,单击,选择结束任务即可:或者在任务管理器中选择"进程",点 ...

  3. 设置administrator账号密码

    设置administrator账号密码: 打开:附件->运行 输入:lusrmgr.msc 在里面的用户里修改administrator密码

  4. centos 安装reids

    1.安装tcl支持 yum install tcl 2.安装redis我们以最新的2.8.9为例 $ wget http://download.redis.io/releases/redis-2.8. ...

  5. 🏆【Alibaba中间件技术系列】「Sentinel技术专题」分布式系统的流量防卫兵的基本介绍(入门源码介绍)

    推荐资料 官方文档 官方demo Sentinel 是什么? 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护 ...

  6. 云原生时代的 APM

    作者 | 刘浩杨 来源|尔达 Erda 公众号 ​APM 的全称是 Application Performance Management(应用性能管理),早在 90 年代中期就有厂商提出性能管理的概念 ...

  7. day04:Python学习笔记

    day04:Python学习笔记 1.算数运算符 1.算数运算符 print(10 / 3) #结果带小数 print(10 // 3) #结果取整数,不是四舍五入 print(10 % 3) #结果 ...

  8. LeetCode33题——搜索旋转排序数组

    1.题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 搜索一个给定的目标值,如果数组中存 ...

  9. Flask + Nginx + uwsgi 部署过程

    一.安装Flask 1.itsdangerous tar xvf itsdangerous-0.23.tar.gz cd itsdangerous-0.23/ python setup.py inst ...

  10. Linux:awk与cut命令的区别

    结论:awk 以空格为分割域时,是以单个或多个连续的空格为分隔符的;cut则是以单个空格作为分隔符.