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 中国大陆”许可协议授权。


    分享到:

  • 相关阅读:
    Unable to lock the administration directory (/var/lib/dpkg/)解决办法
    Linux实训——搭建动态网站
    Linux实训——搭建HTTP服务器
    小程序学习视频教程
    数组的所有方法
    小程序组件封装步骤
    微信小程序生成图片学习
    小程序组件封装学习地址
    开发者在 onPageNotFound 回调中进行重定向处理onPageNotFound(Object)
    小程序中view的自定义属性获取
  • 原文地址:https://www.cnblogs.com/gnuhpc/p/2813509.html
Copyright © 2011-2022 走看看