zoukankan      html  css  js  c++  java
  • 【Ubuntu使用技巧】vsftpd 虚拟用户配置(Ubuntu 10.04环境下通过)

    作者:gnuhpc
    出处:http://www.cnblogs.com/gnuhpc/

    1.首先安装vsftpd和一些工具:

    sudo apt-get install vsftpd libpam-pwdfile apache2-utils

    PAM是负责认证连接的,apache2-utils主要是使用其中的htpasswd命令,来管理用户认证。

    2.配置PAM来负责用户认证:

    sudo vim /etc/pam.d/vsftpd

    将其中的所有行都注释掉,我们要使用PAM-pwdfile来进行认证连接,其中的ftpd.passwd这个文件名字和路径一会儿我们就创建:

    auth required pam_pwdfile.so pwdfile /etc/ftpd.passwd
    account required pam_permit.so

    3.创建用户名密码文件

    sudo htpasswd -c /etc/ftpd.passwd gnuhpc

    其中gnuhpc是用户名,若以后想添加多个用户则使用

    sudo htpasswd /etc/ftpd.passwd gnuhpc2

    4.创建FTP主目录

    我们创建/home/vftp这个目录,把它的权限设置为755

    sudo mkdir –m 755 /home/vftp

    然后将其owner改为ftp:

    sudo chown ftp:ftp /home/vftp

    5.配置vsftpd

    sudo vim /etc/vsftpd.conf

    修改以下配置选项,保留其余选项是默认就可以

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    chroot_local_user=YES
    virtual_use_local_privs=YES
    guest_enable=YES
    user_sub_token=$USER
    local_root=/home/vftp/$USER
    hide_ids=YES

    解释如下:

    anonymous_enable=NO  不允许匿名
    local_enable=YES 非匿名的登录方式必须打开的选项
    write_enable=YES 设置是否可写
    local_umask=022 设置umask,022选项表示755,具体参看Linux权限表示。
    chroot_local_user=YES 限制用户的目录访问权限,即当用户登录FTP服务器后,不能访问自己目录以外的其他目录或文件
    virtual_use_local_privs=YES 虚拟用户与本地用户使用同样的权限,默认是与匿名用户权限相同
    guest_enable=YES 将所有非匿名登录都划归为guest登录,将这个虚拟用户映射到guest_username指定的本地用户
    user_sub_token=$USER 自动进入虚拟用户名对应的主目录下的子目录,比如用户gnuhpc登录就会到local_root/gnuhpc这个目录下
    local_root=/home/vftp/$USER 指定了用户登录以后直接到达的目录
    hide_ids=YES 隐藏ID

    6.添加用户目录

    以gnuhpc这个用户为例,我们创建/home/vftp/gnuhpc这个目录,把它的权限设置为755

    sudo mkdir –m 755 /home/vftp/gnuhpc

    然后将其owner改为ftp:

    sudo chown ftp:ftp /home/vftp/gnuhpc

    7.重启服务:

    sudo service vsftpd restart

    这样我们就已经设置好了一个可上传下载的虚拟用户,以后添加用户的时候只用执行第3,6步和第7步就能添加新的虚拟用户了。

    附1:若你想每一个用户都有自己的主目录和配置权限那么在vsftpd.conf中设置

    user_config_dir=/etc/vsftpd/user

    附2:若你想限制本地用户登录ftp请创建一个用户列表文件,举例我们创建/etc/vsftpd/user_list,内容为

    gnuhpc

    gnuhpc2

    并且在vsftpd.conf中设置:

    userlist_deny=NO
    userlist_file=/etc/vsftpd/user_list
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/user_list

    那么只有这个列表上的用户可以登录。

    作者:gnuhpc
    出处:http://www.cnblogs.com/gnuhpc/


                   作者:gnuhpc
                   出处:http://www.cnblogs.com/gnuhpc/
                   除非另有声明,本网站采用知识共享“署名 2.5 中国大陆”许可协议授权。


    分享到:

  • 相关阅读:
    Palindrome Partitioning
    triangle
    Populating Next Right Pointers in Each Node(I and II)
    分苹果(网易)
    Flatten Binary Tree to Linked List
    Construct Binary Tree from Inorder and Postorder Traversal(根据中序遍历和后序遍历构建二叉树)
    iOS系统navigationBar背景色,文字颜色处理
    登录,注销
    ios 文字上下滚动效果Demo
    经常崩溃就是数组字典引起的
  • 原文地址:https://www.cnblogs.com/gnuhpc/p/2813509.html
Copyright © 2011-2022 走看看