当前位置: 首页 > news >正文

FTP服务器搭建--虚拟多用户(vsftpd)

1,检测是否安装vsftpd
      rpm -q vsftpd
      安装vsftpd:rpm -ivh vsftpd文件名

2,建立虚拟用户/口令文件(建好后删除此文件)
     vi logins.txt
     格式:奇数行为用户名 偶数行为用户密码
     例:mike
            passwdmike
            john
            passwdjohn

3,根据2生成系统的认证文件(用户数据库),保存在/etc/vsftpd下
      利用db_load命令,如果此命令需安装db4-utils的RPM包
     生成认证文件:db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
     生成后,为了安全,设置只有ROOT可以读取更改:chmod 600 /etc/vsftpd/vsftpd_login.db

4,生成PAM验证文件
     在/etc/pam.d下建立配置文件,文件名为:vsftpd.pam,内容如下:
     auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
     account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

5,Vsftpd运行方式是所有的虚拟用户都默认成为系统帐户, 并且为这个系统帐户映射一个本地文件夹。换句话说,所有虚拟用户的登录,LINUX都认为是一个系统帐户,登录后虚拟用户处在映射目录下(上传/下载的文件都放在系统帐户所映射的文件夹下)。
     建立系统帐户,并指定帐户映射的文件夹:useradd -d /home/ftpsite vsftpd_virtual
     为了安全,把此文件夹ROOT可控:chmod 700 /home/ftpsite

6,设置vsftpd.conf配置文件,路径:/etc/vsftpd/vsftpd.conf
(1) 禁用匿名登录:anonymous_enable=NO
(2) 加入:guest_enable=YES 允许虚拟登录
                guest_username=vsftpd_virtual (第5步)
                ftpd_banner=welcome to ftp 设置登录问候语
(3) 更改原有:pam_service_name=vsftpd.pam (第4步)
(4) 开启原有:idle_session_timeout=10(单位:秒,当用户10秒钟内没有动作,自动断开FTP)

7,启动vsftpd服务,用chkconfig --level 35 vsftpd on语句设置在35级别下自动启动服务。
     LINUX分为7个级别:0表示关机,6表示重启(init 6重启语句),1表示单用户(用于系统维护),3表示多用户的服务器模式(字符界面),5表示图形登录模式

8,用FTP软件,现在虚拟用户可以登录了(如果连接不到FTP,可能是防火墙问题,请见第9步)。但是还不能浏览、上传、更改,因为没给具体用户配置权限(见第10步)。

9,进入图形界面,“系统设置”--“安全级别”--“禁用防火墙”。如果你不想禁用,可以选中“SSH”和“FTP”和“eth0”

10,具体用户配置权限(mike为例)
       A,在vsftpd.conf中添加:user_config_dir=/etc/vsftpd_user_conf 指明用户配置文件存放的路径,所有用户的配置文件都以用户名为配置文件名,存放在此目录下。(重启服务)
       B,mike配置文件:
             local_root=/home/ftpsite/mike (应先建立好此文件夹)
             anon_world_readable_only=no (浏览/下载)
             anon_upload_enable=yes (上传)
             anon_mkdir_write_enable=yes (建立/删除目录)
             anon_other_write_enable=yes (改名/删除文件)
       C,此时连接FTP的MIKE帐号还是不能浏览上传等工作,这是因为/home/ftpsite/mike 文件夹的所属是ROOT,所以要把此文件夹改成vsftpd_virtual映射系统用户:chown vsftpd_virtual.vsftpd_virtual /home/ftpsite/mike

至此已配置完毕,更多的vsftpd的配置项请查:
http://www.cnblogs.com/jone_linux/archive/2009/09/16/1567843.html

转载于:https://www.cnblogs.com/jone_linux/archive/2009/09/16/1567834.html

相关文章:

  • Http Handler 介绍
  • 首次以管理员用户身份登录我的公司门户
  • Linq实现GridView高效分页(Skip() and take())
  • 我从11楼跳下去。。。
  • ASP.NET获取客户端IP/用户名等信息
  • mysql noinstall 安装
  • asp.NET 脏字过滤算法 修改版
  • 起个名儿,叫如何自主学习(网络版)~~
  • 整理网上的一些关于sharepoint编码方面的最佳实践
  • 基于MapWinGis的开发探索(四)——图层窗口、地名检索的实现
  • 中间件
  • ArcEngine开发点滴1
  • [转]ATOM 规范 中文版
  • javascript实现组合的递归算法及变种
  • 汇报方案
  • 30秒的PHP代码片段(1)数组 - Array
  • flask接收请求并推入栈
  • java2019面试题北京
  • js对象的深浅拷贝
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • Laravel 实践之路: 数据库迁移与数据填充
  • Web设计流程优化:网页效果图设计新思路
  • 安卓应用性能调试和优化经验分享
  • 彻底搞懂浏览器Event-loop
  • 初识 beanstalkd
  • 精彩代码 vue.js
  • 聊聊hikari连接池的leakDetectionThreshold
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 微服务入门【系列视频课程】
  • 一、python与pycharm的安装
  • ​520就是要宠粉,你的心头书我买单
  • ​io --- 处理流的核心工具​
  • #pragam once 和 #ifndef 预编译头
  • #微信小程序:微信小程序常见的配置传旨
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (一)基于IDEA的JAVA基础10
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .bat批处理出现中文乱码的情况
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .NET Core引入性能分析引导优化
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .net6 webapi log4net完整配置使用流程
  • .NET与 java通用的3DES加密解密方法
  • /etc/skel 目录作用
  • @RestController注解的使用
  • [20190416]完善shared latch测试脚本2.txt