VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP
首先安装

主配置文件:/etc/vsftpd/vsftpd.conf

【匿名用户】
anonymous_enable=yes 是否可以匿名访问

anon_umask=022  设置匿名用户所上传文件的默认权限掩码值

anon_root=/var/ftp 设置匿名用户的FTP根目录(缺省为/var/ftp/)

anon_upload_enable=yes  是否可以匿名用户上传文件

anon_mkdir_write_enable=yes  是否可以匿名用户有创建目录的写入权限

anon_other_write_enable=yes   是否可以匿名用户有其他写入权限。如对问件改名、覆盖、删除文件等

anon_max_rate=0  限制匿名用户的最大传输速率(0为不限制),单位为字节/秒

【本地用户】
local_enable=yes 是否可以本地系统用户访问

local_umask=022 设置本地用户所上传文件的默认权限掩码值

local_root=/var/ftp 设置本地用户的ftp根目录(缺省为用户的宿主目录)

chroot_local_user=yes 是否将ftp本地用户禁锢在宿主目录中

local_max_rate=0  限制本地用户的最大传输速率(0为不限制),单位为字节/秒

【全局配置】
listen=yes 是否以独立运行的方式监听服务

listen_address=0.0.0.0 设置监听ftp服务的IP地址

listen_port=21 设置监听FTP服务的端口号

write_enable=yes 启用任何形式的写入权限(如上传,删除文件等)都需要开启此项

download_enable=yes 是否可以下载文件(建立仅限浏览,上传的ftp服务器时可将其设为“no”)

dirmessage_enable=yes  用户切换进入目录时显示.message文件(如果存在)的类容

xferlog_enable=yes  启用xferlog日志,默认记录到/var/log/xferlog

xferlog_std_format=yes 启用标准的xferlog日志格式,若禁用此项,将使用vsftpd自己的日志格式

connect_from_port_20=yes 同意服务器主动模式(从20端口建立数据连接)

pasv_enable=yes 同意被动模式连接

pasv_max_port=24600 设置用于被动模式的服务器最大端口号

pasv_min_port=24500 设置用于被动模式的服务器最小端口号

pam_service_name=vsftpd 设置用于用户认证PAM文件位置(/etc/pam.d/目录中对应的文件名)

userlist_enable=yes 是否启用user_list用户列表文件  /etc/vsftpd/ptpusers

userlist_deny=yes 是否禁用user_list列表文件中的用户账号 /etc/vsftpd/uer_list

max_clients=0 最多同意多少个客户端同是连接(0为不限制)

max_per_ip=0 对来自同一个ip地址的客户端,最多同意多少个并发连接(0为不限制)

tcp_wrappers=yes 是否启用TCP_Wrappers主机访问控制

开启虚拟用户
guest_enable=YES   启用用户隐射功能  
guest_username=share  映射的系统用户名字 本地用户
pam_service_name=share  指定 pam认证文件
user_config_dir=/etc/vsftpd/share_dir
开启匿名或者本地用户登录FTP 都是给一样的权限,要么就是一起把权限去了,不方便管理,所以vsftp的一个功能就是 虚拟用户 
这里我把思路理清 全部写出来!
要求匿名用户可以浏览,下载但是不能上传!本地用户不能登录
虚拟用户 chenhao有下载上传写入 但是不能删除
虚拟用户 fenglei 有浏览下载权限但是不能上传
虚拟用户:首先创建虚拟用户列表
vi /etc/vsftpd/share(名字随便填)
第一行 名字 第二行 密码

创建数据库DB
cd /etc/vsftpd/
db_load -T -t (类型)hash -f share share.db(转换后名字)

file share.db 查看格式

然后把文件隐藏起来 chmod 600 /etc/vsftpd/share*

把权限给最低

然后加用户测试 :useradd -d 指定家目录 -s 指定shell /sbin/nologin 用户名share 不给登陆到系统

创建虚拟用户支持

建立PAM认证文件
vi /etc/pam.d/share 名字随便起 但是要知道什么意思 跟上面名字一样 方便一些

auth       required     pam_userdb.so    db=/etc/vsftpd/share   (DB在哪里)后缀DB直接隐藏了 
account       required     pam_userdb.so    db=/etc/vsftpd/share

新建配置文件保存 
最后修改主配置文件 vi /etc/vsftpd/vsftpd.conf  加4条语句 并且把匿名的语句注释了和一些权限放到最低,直接给子文件配置

guest_enable=YES   启用用户隐射功能   
guest_username=share  映射的系统用户名字 本地用户
pam_service_name=share  指定 pam认证文件
user_config_dir=/etc/vsftpd/share_dir

创建子文件 mkdir /etc/vsftpd/share_dir 随便建的子目录 在里面建子文件
cd /etc/vsftpd/share_dir 切换进去
然后建子文件 就是用户的需求 可以给那些权限
比如 chenhao 用户可以登录 能够正常浏览,下载文件,也可以上传文件,但是不能够删除,新建目录

vi chenhao

local_root=/home/share  指定的家目录
anon_upload_enable=yes  可以上传文件 但是不能进行删除或者新建 因为 没有给他权限

(必须锁在家目录 让他不能去系统别的地方)
chroot_local_user=yes 是否将ftp本地用户禁锢在宿主目录中

并且linux 主机中的系统用户无法登陆FTP
并且匿名用户只能下载 不能上传

测试结果:

测试虚拟用户

上传下载都可以

上传不可以 下载可以!

在主配置文件上必须要添加这句话!后面跟的是你子文件夹!

必须要加这句话!

启用独立配置文件

注意:权限一定要给755 否则会发现无法浏览目录等情况!做实验发现
[root@localhost ~]# chmod 775 /home/share/

[root@localhost ~]# chown share:share /home/share/

然后按需求 复制上面的参数保存退出就可以!

达到不同用户不同权限更方便企业管理员管理每个用户账户,并且很安全,权限可以自由分配!

修改完成后 重新启动服务!service vsftpd reload 重新加载!
 
 
本文转自 cs312779641 51CTO博客,原文链接:http://blog.51cto.com/chenhao6/1219713

FTP(虚拟用户,并且每个虚拟用户可以具有独立的属性配置)相关推荐

  1. 使用FTP协议的服务,包括匿名用户验证访问,用户验证访问,虚拟用户验证访问等

    目录 1.FTP服务概述 2.在服务端安装vsftpd程序 3.基于匿名用户验证访问的 FTP 服务 4.测试匿名 FTP服务 5.基于用户验证访问的FTP服务 6.基于用户验证访问的FTP服务的测试 ...

  2. Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)

    对于Linux搭建服务器步骤详解:可以基于匿名访问.本地用户访问.虚拟用户访问 FTP服务访问可分为三种 匿名用户:用户名为ftp或者anonymous,提供任意密码或无密码访问即可. 本地用户:要求 ...

  3. vsftpd创建虚拟用户,解决本地用户不安全问题,增强服务器安全性

    转载来源 : vsftpd创建虚拟用户,解决本地用户不安全问题,增强服务器安全性 : 摘要: 前面两篇介绍VSFTPd服务器的匿名用户和本地用户访问,基本满足文件的上传下载任务,今天给大家说说虚拟用户 ...

  4. 云虚拟主机更适合哪些用户使用

    云虚拟主机是常用的站房设备之一.它因其成本低.操作方便而受到众多站长的青睐.在选择虚拟空间时,无论是持续建立企业网站还是个人网站,都有必要明确网站空间的性能和访问速度.适合使用云虚拟主机的用户有: 1 ...

  5. linux虚拟单用户数,Linux单用户模式

    Linux单用户模式 单用户级别进入的系统的都是root用户,并且不需要密码.这一部分需要在虚拟机中运行,不可在远程启动,因为启动远程要在启动虚拟机后才能连接,单用户方式下,用户并没有完全运行起来,只 ...

  6. ftp文件传输协议的匿名用户、系统用户的实现详解过程

    一.ftp含义 FTP(File Transfer Protocol)文件传输协议,主要目的使得主机之间可以共享文件.监听在tcp的21端口,是一个文件共享服务,主要工作在应用层:FTP使用tcp生成 ...

  7. RHEL6.3配置FTP服务器(2) 本地用户下载和上传

    在上篇博文中我们实现了匿名用户的下载和上传,但在更多情况下我们需要对访问FTP的用户进行身份验证,这就需要设置FTP用户. vsftpd可以直接使用Linux系统的本地用户作为FTP用户,提供基于用户 ...

  8. ubantu使用vsftp设置ftp上传 java添加系统用户限定ftp登录

    ftp业务搭建笔记(安装,启动,配置详解(中文) 1. 使用apt-get 工具安装vsftpd sudo apt-get install vsftpd 如果你是管理员可以使用 apt-get ins ...

  9. Linux里ftp新建管理员,Linux如何创建用户并配置FTP权限

    Linux下创建用户是很easy的事情了,只不过不经常去做这些操作,时间久了就容易忘记,顺便配置一下FTP.声明:使用Linux版本release 5.6,并以超级管理员root身份运行. 1.创建用 ...

最新文章

  1. 2018-2019-1 20165310 20165315 20165226 实验一 开发环境的熟悉
  2. HDU 2897 邂逅明下(简单博弈)
  3. 矫情这一次,感谢这几个人。
  4. 临时手机验证码_实用网站(一)短信验证码 临时网盘 临时邮箱
  5. mybatis快速入门(三)
  6. iphone:解析html的第三库hpple初试
  7. using和名空间namespace
  8. android终端模拟器官方下载,Android 终端模拟器 | F-Droid - Free and Open Source Android App Repository...
  9. 你知道台湾Android开发面試題是什么样的吗(附答案解析)
  10. mysql timestamp 差值_SQL计算timestamp的差值实例分享
  11. 极客日报:腾讯下一步或减持美团和拼多多的股份;iPhone 13连续6周成中国最畅销智能手机;Linux 5.16 开发者统计
  12. 一些冷门的JS技巧 顶
  13. h5的第一天 做的自定义调色器
  14. 智力游戏(搬山游戏)
  15. Flutter 平移动画 — 4种实现方式
  16. 书写历史的甲骨文--ORACLE公司传奇
  17. lattice,flat
  18. Python可以做什么?
  19. 播放流媒体常用工具和格式
  20. 【element-ui】

热门文章

  1. 数组-在Shell脚本中的基本使用介绍
  2. 如何修改linux时间? 校正linux系统的时间
  3. 干货!MySQL 资源大全
  4. win7下80端口被(Pid=4)占用的解决方法
  5. 路由器、三层交换机通过OSPF实现互访 (OSPF初学案例)
  6. SpringCloud使用Sofa-lookout监控(基于Eureka)
  7. Codeforces 1023A Single Wildcard Pattern Matching
  8. Skype for business混合部署系列之二自定义拓扑信息
  9. Spring处理器(Controller)全局建言
  10. leetcode- nim game