zoukankan      html  css  js  c++  java
  • Ubuntu 12.04 LTS为例演示vsftpd虚拟用户 的配置

    vsftpd虚拟用户  

    2012-05-19 15:46:59|  分类: GNU/Linux |  标签:ubuntu  vsftpd  ftp  虚拟用户  |举报|字号 订阅

    我们登录FTP有三种方式:匿名登录、本地用户登录和虚拟用户登录。
    匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous,密码为空;
    本地用户登录:使用系统用户登录,用户信息保存在/etc/passwd中;
    虚拟用户登录:FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。



    下面以Ubuntu 12.04 LTS为例演示vsftpd的配置。

    1.打开Ubuntu软件中心,下载安装vsftpd

    2.添加虚拟用户口令文件

    sudo vi /etc/vsftpd/vftpuser.list

    该文件奇数行表示用户名,随后的偶数行表示对应的密码

    第一行填写:v1

    第二行填写:passwd

    保存关闭该文件

    3.生成虚拟用户口令认证文件

    将刚编写的vftpuser.list换成系统识别的口令认证文件,

    需要使用命令db_load

    如果没有安装,我的系统会提示安装db-util这个软件包

    (或者是db5.1-util这个包,记不清了)

    sudo apt-get install db-util

    安装完成后,使用db_load命令生成认证文件

    sudo db_load -T -t hash -f/etc/vsftpd/vftpuser.list /etc/vsftpd/vftpuser.db

    4.编辑vsftpd的PAM认证文件
    可以建立新的pam认证文件,然后在vsftpd.conf中指向新的文件;
    也可以直接打开vsftpd默认的认证文件修改

    sudo vi /etc/pam.d/vsftpd

    将里面其他的都注释掉,添加下面这两行:

    auth        required pam_userdb.so  db=/etc/vsftpd/vftpuser

    account  required  pam_userdb.so db=/etc/vsftpd/vftpuser

    5. 建立本地映射用户

    FTP虚拟用户需要使用一个系统用户,安全起见,该用户被禁止登录系统。
    sudo useradd  vftpuser
    sudo usermod -d /var/vftp vftpuser

    sudo usermod -s /sbin/nologin vftpuser
    理论上来说,上述3条指令本可使用1条指令完成的

    sudo useradd -d /var/vftp -s /sbin/nologinvftpuser

    但是我输入上述指令后,用户没有创建成功

    系统只给了个useradd的使用说明,但没有任何错误提示,

    暂时没搞明白原因

    6.配置vsftpd.conf
    很多人的vsftpd.conf默认路径是/etc/vsftpd/vsftpd.conf,我的不一样

    sudo vi /etc/vsftpd.conf
    打开文件后修改相关参数:

    anonymous_enable=NO     

    #匿名账户可以不禁用的,但是我还是喜欢禁用掉

    #另外,上面这行直接注释掉,例如:“#anonymous_enable=YES”

    #好像不能禁用匿名,需要将其值改为“NO”

    local_enable=YES

    guest_enable=YES #开启虚拟用户
    guest_username=vftpuser #FTP虚拟用户对应的系统用户
    pam_service_name=vsftpd #PAM认证文件

    7.重启vsftpd服务

    sudo service vsftpd restart

    查看该服务的状态,可使用以下指令:

    service vsftpd status

    服务重启后,相关的配置信息就生效了

    远程机器能够使用最初编写的用户“v1”登录

    8.设置共享目录权限

    在/var/vftp目录下建立一个pub目录,将其修改为所有人可读写的权限

    sudo mkdir /var/vftp/pub

    sudo chmod 777 /var/vftp/pub

    这样以来,远程用户可以完全操作pub子目录

    对根目录只有读的权限

  • 相关阅读:
    [LeetCode] Diagonal Traverse 对角线遍历
    [LeetCode] Find Bottom Left Tree Value 寻找最左下树结点的值
    [LeetCode] Next Greater Element I 下一个较大的元素之一
    [LeetCode] Teemo Attacking 提莫攻击
    [LeetCode] 494. Target Sum 目标和
    记一次Android studio升级之后的坑
    Flutter:Slivers大家族,让滑动视图的组合变得很简单!
    flutter控件之ListView滚动布局
    flutter 生命周期
    Flutter 案例学习之:GridView
  • 原文地址:https://www.cnblogs.com/jamesf/p/4751518.html
Copyright © 2011-2022 走看看