zoukankan      html  css  js  c++  java
  • linux下搭建ftp服务器(虚拟用户)

    一.安装服务

    yum -y install vsftpd

    关闭selinux

    setenforce  0 

    二.修改配置文件

    vim /etc/vsftpd/vsftpd.conf

    chroot_local_user=YES
    chroot_list_enable=NO
    allow_writeable_chroot=YES   这三条配置是让用户只能在他的家目录下面操作,不能切换到系统的其他目录,并赋予其在家目录下的可写权限。

    chroot_list_file=/etc/vsftpd/chroot_list  指定上述关于目录切换权限配置的用户名单文件在哪里。

    在/etc/vsftpd/chroot_list文件中添加backup用户

    userlist_enable=YES     #在名单里面的用户可以登陆FTTP
    userlist_deny=NO
    userlist_file=/etc/vsftpd/user_list

    这里指定一份用户命令及其位置,并指定在该名单里面的用户,是可以登陆到FTP的。

    在/etc/vsftpd/user_list添加backup用户

    pasv_enable=YES
    pasv_min_port=6000
    pasv_max_port=7000

    启用被动模式,并指定被动模式所选用的端口范围。

    三.创建用户(ftp用户其实就是系统用户)

    useradd  backup  -s  /sbin/nologin  (不让ftp用户登录系统)

    passwd  backup

    mkdir  /backup/

    usermod -d /backup/  backup (另外指定ftp用户的家目录)

    四.开放防火墙端口

    firewall-cmd  --add-port=21/tcp  --permanent

    firewall-cmd  --add-port=6000-7000/tcp  --permanent

    firewall-cmd  --reload

    ---------------------------------------------------------------------------------------------------------------如果想要创建虚拟用户---------------------------------------------------------------------------------------------------------------

    一.安装vsftpd

    yum -y installl vsftpd

    关闭selinux

    setenforce 0

    二.修改配置文件

    创建虚拟用户文件

    vim /etc/vsftpd/virtual.txt

    backup1
    tqw961110
    backup2
    tqw961110

    创建认证文件

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

    修改权限

    chmod 600 /etc/vsftpd/virtual.db

    创建pam文件

    vim /etc/pam.d/vsftpd.vu

    修改权限

    chmod 777 /etc/pam.d/vsftpd.vu

    创建用户

    useradd virtual -d /backup/ -s /sbin/nologin

    chmod 755 /backup/

    修改ftp配置文件

    listen_ipv6=YES
    guest_enable=YES                                                      #开启虚拟用户
    guest_username=virtual                                               #将虚拟用户映射到virtual用户
    pam_service_name=vsftpd.vu                                     #指定pam认证文件
    user_config_dir=/etc/vsftpd/vsftpd_user_conf             #虚拟用户权限文件的存放目录
    userlist_enable=YES
    tcp_wrappers=YES

    指定被动模式的工作端口

    pasv_enable=YES
    pasv_min_port=6000
    pasv_max_port=7000

    创建用户权限文件存放的目录

    mkdir /etc/vsftpd/vsftpd_user_conf/

    cd /etc/vsftpd/vsftpd_user_conf/

    创建backup1用户权限文件

    vim backup1

    anon_world_readable_only=YES             #可以浏览目录下载文件
    anon_upload_enable=YES                      #可以上传文件
    anon_mkdir_write_enable=YES               #可以创建 删除目录
    anon_other_write_enable=YES                #可以更名删除文件
    allow_writeable_chroot=YES                   #对自己的主目录有写的权限,(若不加此参数,而virtual用户对其家目录又有写权限,则会出现登录出错,这是ftp的安全机制。)

    创建backup2用户权限文件

    vim backup2

    anon_world_readable_only=YES             #可以浏览目录下载文件
    anon_upload_enable=YES                      #可以上传文件
    anon_mkdir_write_enable=NO                #可以创建 删除目录
    anon_other_write_enable=NO                 #可以更名 删除文件
    allow_writeable_chroot=YES                   #对自己的主目录有写的权限,(若不加此参数,而virtual用户对其家目录又有写权限,则会出现登录出错,这是ftp的安全机制。)

    重启服务

    开发防火墙

    firewall-cmd --add-port=20/tcp --permanent

    firewall-cmd --add-port=21/tcp --permanent

    firewall-cmd --add-port=6000-7000/tcp --permanent

    firewall-cmd --reload

    三.测试

    先用backup1用户登录ftp

    创建一个文件

    然后切换到backup2用户

    尝试删除文件

    发现没有反应

    则表示成功

  • 相关阅读:
    Python——String类型操作符
    NLTK——NLP流程
    NLTK——常用函数
    Java——IO流 对象的序列化和反序列化流ObjectOutputStream和ObjectInputStream
    java——什么是浅表副本
    JavaWeb——<c:forEach varStatus="status">
    kubernetes安装
    [转]Jmeter + Grafana + InfluxDB 性能测试监控
    html转markdown网站
    golang的包管理---vendor/dep等
  • 原文地址:https://www.cnblogs.com/QicongLiang/p/9927637.html
Copyright © 2011-2022 走看看