zoukankan      html  css  js  c++  java
  • CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户

    CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户

    一、安装ftp服务

    1、检查是否已经安装

    # rpm -qa | grep ftp

    ftp-0.17-54.el6.x86_64

    vsftpd-2.2.2-21.el6.x86_64            //显示已安装

    2、若未安装则进行安装

    # yum -y install vsftp

    # yum -y install ftp

    //如果在离线环境下 就先去网上预先下载ftp的rpm包 进行手动安装

    3、ftp服务命令

    # /etc/init.d/vsftpd start      手动启动ftp服务

    或者# service vsftpd start

    # chkconfig vsftpd on          设置为开机自启动

    # service vsftpd stop

    # service vsftpd restart

    # service vsftpd status

    二、配置ftp

    1、配置vsftpd配置文件

    # vi /etc/vsftpd/vsftpd.conf

    # 禁止匿名用户anonymous登录

    anonymous_enable=NO

    # 允许本地用户登录

    local_enable=YES

    # 让登录的用户有写权限(上传,删除)

    write_enable=YES

    # 默认umask

    local_umask=022

    # 把传输记录的日志保存到/var/log/vsftpd.log

    xferlog_enable=YES

    xferlog_file=/var/log/vsftpd.log

    xferlog_std_format=NO

    # 允许ASCII模式上传

    ascii_upload_enable=YES

    # 允许ASCII模式下载

    ascii_download_enable=YES

    # 使用20号端口传输数据

    connect_from_port_20=YES

    # 欢迎标语

    ftpd_banner=Welcome to use my test ftp server.

    # chroot_local_user设置了YES,那么所有用户都被限制只能访问自己的home目录。不能切换到上级目录。

    # chroot_list_enable设置了YES,即让chroot用户列表有效。

    # 如果chroot_local_user设置了YES,那么chroot_list_file文件里的用户不受限制,即可以切换到上级目录。

    # 如果chroot_local_user设置了NO,那么chroot_list_file文件里的用户不能切换到上级目录。

    chroot_list_enable=YES

    # touch /etc/vsftpd/chroot_list 新建

    chroot_list_file=/etc/vsftpd/chroot_list   --添加到这里面的用户不受限制,可以切换到上级目录。

    use_localtime=YES

    # 以standalone模式在ipv4上运行

    listen=YES

    # PAM认证服务名,这里默认是vsftpd,在安装vsftpd的时候已经创建了这个pam文件,

    # 在/etc/pam.d/vsftpd,根据这个pam文件里的设置,/etc/vsftpd/ftpusers

    # 文件里的用户将禁止登录ftp服务器,比如root这样敏感的用户,所以你要禁止别的用户

    # 登录的时候,也可以把该用户追加到/etc/vsftpd/ftpusers里。

    pam_service_name=vsftpd

    *重启vsftpd

    # service vsftpd restart

    三、创建本地用户

    创建用户

    # useradd -d /home/ftpuser/zzp -s /sbin/nologin -M zzp123

    设置用户到文件夹

    # chown -R username /home/ftpuser/zzp

    设置权限

    # chown -R 777 /home/ftpuser/zzp

    添加密码

    # passwd zzp -> 密码 -> 确认密码

    四、创建虚拟用户

    安装基于普通文件的文件型认证数据库的生成工具

    # rpm -qa | grep db4-utils

    # yum -y install db4-utils

    编辑虚拟用户账号和密码文件,奇数行为用户名,偶数行为密码

    # vi /etc/vsftpd/vu.txt

    test

    1234

    ...

    usernameN

    passwordN

    用于认证的文件型数据库生成

    # db_load -T -t hash -f /etc/vsftpd/vu.txt /etc/vsftpd/vu.db

    修改权限

    # chmod 600 /etc/vsftpd/vu.*

    修改VSFTP默认的认证方式,改为基于刚才生成的文件型数据库

    # vi /etc/pam.d/vsftpd.vu

    auth      required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vu    #vu文件无后缀

    account  required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vu

    **注意**:

    1.系统默认读取的文件是/etc/pam.d/vsftpd  也可以直接在这里面添加上面的内容

    2.64位的系统可能会识别不出pam_userdb.so db的路径,所以要写出完整的路径,否则在登录ftp的时候会报 530 login incorrect 错误

    创建映射虚拟用户的系统用户

    # useradd  -d /home/vsftp/ftp -s /sbin/nologin -M vsftp

    创建虚拟用户配置文件目录

    # mkdir /etc/vsftpd/conf.vu

    修改VSFTP配置文件

    # vi /etc/vsftpd/vsftpd.conf
    anon_umask=022                                #文件644,文件夹755
    anonymous_enable=NO                      #关闭匿名登录
    pam_service_name=vsftpd.vu              #修改PAM认证模块 (系统默认的是vsftpd)
    guest_enable=YES                                #允许虚拟用户登录
    guest_username=vsftp                        #映射虚拟用户的系统用户
    user_config_dir=/etc/vsftpd/conf.vu    #虚拟用户配置文件目录
    pasv_enable=YES                                  #被动模式
    pasv_max_port=20999                        #最大端口
    pasv_min_port=20000                          #最小端口
    xferlog_enable=YES
    xferlog_std_format=YES
    xferlog_file=/var/log/xferlog                #日志:记录上传、下载、删除、创建
    dual_log_enable=YES
    vsftpd_log_file=/var/log/vsftpd.log      #日志:服务器传输日志

    创建虚拟用户各自的目录及配置文件

    # mkdir /home/vsftp/ftp/username
    # chmod 700 /home/vsftp/ftp/username
    # chown vsftp.vsftp /home/vsftp/ftp/username
    # vi /etc/vsftpd/conf.vu/username
    write_enable=YES                        #当前虚拟用户写权限
    anon_world_readable_only=NO              #当前虚拟用户下载权限
    anon_upload_enable=YES                  #当前虚拟用户上传权限
    anon_mkdir_write_enable=YES              #当前虚拟用户创建目录权限
    anon_other_write_enable=YES              #当前虚拟用户删除和重命名权限
    local_root=/bigdisk/ftp/username1        #当前虚拟用户家目录
    # chmod 600 /etc/vsftpd/conf.vu/*

    最后重启vsftpd

    # service vsftpd restart

  • 相关阅读:
    fio工具讲解
    flask迁移数据库报错
    base64编码
    OpenStack学习笔记,未完待续
    docker运行报错
    centos搭建SVN服务器并实现自动同步至web目录 (必定安装成功)
    centos/linux 源码安装mysql详细记录
    centos7.7安装php7.3的lnmp环境和composer详细步骤
    laravel-admin使用ueditor重命名图片名称问题
    nginx 图片防盗链 设置
  • 原文地址:https://www.cnblogs.com/rusking/p/6831235.html
Copyright © 2011-2022 走看看