zoukankan      html  css  js  c++  java
  • 虚拟用户FTP部署

    Linux vsftp创建虚拟用户
    FTP有三种登录方式:匿名登录、本地系统用户登录和虚拟用户登录。
    虚拟用户是ftp服务器的专用用户,它的特点是只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源。所以,如果想让用户对FTP服务器站内具有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全性。在VSFTP中,认证这些虚拟用户使用的是单独的口令库文件(pam_userdb),由可插入认证模块(PAM)认证。使用这种方式更加安全,并且配置更加灵活。

    —、关闭防火墙

    > systenmctl stop firewalld
    > setenforce 0 #不关闭启动会报错
    [root@client vsftpd]# systemctl restart vsftpd
    Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.
    或者永久性关闭防火墙
    # vim /etc/selinux/config
    SELINUX=disable

    二、安装vsftpd服务

    使用yum安装vsftpd
    # yum -y install vsftpd*
    备份vstpd主配置文件
    # cp /etc/vsftpd/vsftpd.conf{,.bak}

    三、配置虚拟用户访问的vsftpd服务

    1、创建虚拟用户密码文件,奇数行为用户名,偶数行为密码

    # vim /etc/vsftpd/vir_user 
    user1 
    1234567a 
    user2
    1234567b

    2、生成虚拟用户数据库

    # yum -y install libdb-utils 
    # db_load -T -t hash -f /etc/vsftpd/vir_user /etc/vsftpd/vir_user.db 
    # chmod 700 /etc/vsftpd/vir_user.db

    3.配置vsftpd pam 验证文件 修改先前备份文件

    # cp /etc/pam.d/vsftpd{,.bak}
    将auth机account的所有配置行均注释掉,添加一下两行
    # vim /etc/pam.d/vsftpd
    auth required pam_userdb.so db=/etc/vsftpd/vir_user 
    account required pam_userdb.so db=/etc/vsftpd/vir_user

    4.添加一个系统用户‘virftp’,所有虚拟用户都会映射到此用户后对文件系统进行读写操作

    # mkdir /ftproot 
    # useradd -d /ftproot -s /sbin/nologin virftp 
    # chown -R virftp:virftp /ftproot

    5.设置vsftpd主配置文件

    vim /etc/vsftpd/vsftpd.conf
    #禁止匿名用户登录 
    anonymous_enable=NO 
    #允许本地用户登录 
    local_enable=YES 
    #启用虚拟账户 
    guest_enable=YES 
    #把虚拟账户映射到系统账户
    virftp guest_username=virftp 
    #使用虚拟用户验证(PAM验证) 
    pam_service_name=vsftpd 
    #设置存放各虚拟用户配置文件的目录(此目录下与虚拟用户名相同的文件为他的配置文件) 
    user_config_dir=/etc/vsftpd/vsftpd_viruser 
    #启用chroot时,虚拟用户根目录允许写入 
    allow_writeable_chroot=YES

    6.配置虚拟用户各自的配置文件,文件名称是‘虚拟用户名’

    vim /etc/vsftpd/vsftpd_viruser/user1
    #允许写入 
    write_enable=YES 
    #允许浏览FTP目录和下载 
    anon_world_readable_only=NO 
    #允许虚拟用户上传文件 
    anon_upload_enable=YES 
    #允许虚拟用户创建目录 
    anon_mkdir_write_enable=YES 
    #允许虚拟用户执行其他操作(如改名、删除) anon_other_write_enable=YES 
    #上传文件的掩码,如022时,上传目录权限为755,文件权限为644 anon_umask=022 
    #指定虚拟用户的虚拟目录(虚拟用户登录后的主目录) local_root=/ftproot/admin/

    7.创建虚拟用户的根目录,要保证虚拟用户映射的系统用户,对这个根目录有读写权限

    # mkdir -p /ftproot/admin/ 
    # chown -R virftp.virftp /ftproot/admin/

    8.关闭可以访问的用户 #vim /etc/vsftpd/ftpusers

    四、测试配置结果

    1.重启vsftpd服务
    # systemctl restart vsftpd
    # systemctl enable vsfpd
    2.关闭防火墙
    # systemctl stop firewalld
    附:vsftp配置文件翻译
    anonymous_enable=YES     是否允许匿名登陆
    local_enable=YES     允许本地登陆
    write_enable=YES     启用任何形式的ftp 写入命令
    local_umask=022     FTP上本本地的文件权限,默认是077,不过vsftp安装后的配置文件里默认是022
    anon_upload_enable=YES     允许匿名ftp 用户上传文件
    anon_mkdir_write_enable=YES     允许匿名用户 创建新的目录
    dirmessage_enable=YES     激活目录消息,向远程用户发送消息,进入某个目录
    xferlog_enable=YES     激活上传/下载 日志记录
    connect_from_port_20=YES     确保RORT传输连接来自端口 20
    chown_uploads=YES chown_username=whoever     设置 匿名用户上传文件的默认用户,不推荐使用root
    xferlog_file=/var/log/xferlog     日志文件路径
    xferlog_std_format=YES     日志文件使用标准ftpd xferlog格式的日志文件 ,默认位置 /var/log/xferlog
    idle_session_timeout=600     更改超时空闲会话的默认值
    data_connection_timeout=120     超时数据连接的默认值
    nopriv_user=ftpsecure     创建ftp服务器 独立的用户
    async_abor_enable=YES     启用 异步 ABOR 请求
    ascii_upload_enable=YES     允许ASCII模式上传文件
    ascii_download_enable=YES     允许ASCII模式下载文件
    ftpd_banner=Welcome to blah FTP service.     自定义登陆标题字符串
    deny_email_enable=YES     指定不允许匿名登陆电子邮件
    banned_email_file=/etc/vsftpd/banned_emails     默认路径
    chroot_local_user=YES chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list    指定 chroot 参数 CHROOT就是Change Root,也就是改变程序执行时所参考的根目录位置。CHROOT可以增进系统的安全性,限制使用者能做的事
    ls_recurse_enable=YES     启用 ls –R 选项
    listen=NO     启用 listen 指令,vsftp 以独立模式运行侦听ipv4 套接字,该指令不能同时使用 with
    listen_inv6     指令
    listen_ipv6=YES     监听ipv6
    pam_service_name=vsftpd     虚拟用户使用PAM认证方式
    userlist_enable=YES     只允许userlist 文件中的账户登陆
    tcp_wrappers=YES     是否允许tcp_wrappers 管理
    anon_other_write_enable=YES     允许匿名用户改名和删除文件
    anon_world_readable_only=YES     匿名用户可以读文件 反之就是不能读
    pasv_min_port=30000 pasv_max_port=35000    PASV模式下指定端口范围
     

  • 相关阅读:
    移动端性能优化动态加载JS、CSS
    右侧跟踪导航
    JQ+rotate插件实现图片旋转,兼容IE7+ CHROME等浏览器
    什么JSONP
    Web前端开发:什么是页面重回(repaints)与回流(reflow)
    javascript中的eval()函数应用以及要点
    SQL表值参数批量插入
    SQL SERVER 使用 OPENRORWSET(BULK)函数将txt文件中的数据批量插入表中(2)
    SQL SERVER 使用BULK Insert将txt文件中的数据批量插入表中(1)
    一个编程菜鸟的进阶之路(C/C++)
  • 原文地址:https://www.cnblogs.com/goujinyang/p/15217884.html
Copyright © 2011-2022 走看看