• Deepin下vsftp服务安装配置虚拟用户


    • 1. 系统环境

    Deepin20.9

    • 2. 在线安装

    1. # apt install -y vsftp //安装ftp服务软件
    2. # apt install -y db-util //安装虚拟用户密码库处理软件
    • 3. 离线安装

    • 3.1 下载依赖包

    1. # apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends vsftpd | grep -v i386 | grep "^\w")
    2. # apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends db-util| grep -v i386 | grep "^\w")
    • 3.2 安装

    # dpkg -i *.deb
    • 4. 创建虚拟ftp目录

    1. # mkdir -p /data/vftp/pub
    2. # chmod a-w /data/vftp
    • 5. 创建虚拟ftp用户

    • 5.1 #创建虚拟用户源文件

    • 一行用户名,一行密码
    1. # vi /etc/vsftpd/vusers.list
    2. user1
    3. user1pass
    4. user2
    5. user2pass
    6. [EOF]
    • 5.2 根据虚拟用户源文件生成虚拟用户密码库

    1. # db_load -T -t hash -f /etc/vsftpd/vusers.list /etc/vsftpd/vusers.db
    2. # chmod 600 /etc/vsftpd/vusers.db
    • 5.3 创建虚拟ftp系统用户vftp和服务用户user1、user2

    1. # useradd -g ftp -d /data/vftp -s /sbin/nologin vftp
    2. # chown vftp.ftp /data/vftp
    3. # useradd -g ftp -d /data/vftp/user1 -s /sbin/nologin user1
    4. # chown user1.ftp /data/vftp/user1
    5. # useradd -g ftp -d /data/vftp/user2 -s /sbin/nologin user2
    6. # chown user2.ftp /data/vftp/user2
    • 6. 配置虚拟用户验证

    1. # vi /etc/pam.d/vsftpd
    2. # Standard behaviour for ftpd(8).
    3. auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
    4. # Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.
    5. # Standard pam includes
    6. @include common-account
    7. @include common-session
    8. @include common-auth
    9. #auth required pam_shells.so #需注释
    10. auth    sufficient    pam_userdb.so db=/etc/vsftpd/vusers #添加行,指向虚拟用户密码库
    11. account sufficient    pam_userdb.so db=/etc/vsftpd/vusers #添加行,指向虚拟用户密码库
    • 7. 配置文件

    • 7.1 vsftpd配置文件/etc/vsftpd.conf

    1. listen=YES #启用服务
    2. write_enable=YES #启用可写操作
    3. listen_port=30021 #指定端口
    4. #listen_address=xxx.xxx.xxx.xxx #指定主机IP
    5. anonymous_enable=NO #禁用匿名服务
    6. local_enable=YES #启用系统用户服务
    7. local_umask=022
    8. chroot_local_user=YES #启用禁止系统用户使用chroot()功能
    9. #虚拟用户
    10. pam_service_name=/etc/pam.d/vsftpd #指向虚拟用户验证配置文件
    11. guest_enable=YES #启用虚拟用户服务
    12. guest_username=vftp #支持虚拟用户服务的系统用户
    13. user_config_dir=/etc/vsftpd/vusers #虚拟用户配置目录
    14. chroot_list_enable=YES #启用禁止chroot()功能
    15. chroot_list_file=/etc/vsftpd/vusers.list #指向需要禁止chroot()功能的用户文件
    16. virtual_use_local_privs=YES #虚拟用户使用系统用户相同的权限
    17. use_localtime=YES #使用系统时间
    • 7.2 虚拟用户配置文件

    • /etc/vsftpd/vusers/user1
    1. guest_enable=yes
    2. guest_username=user1
    3. local_root=/data/vftp/user1
    4. anon_upload_enable=YES
    5. anon_world_readable_only=NO
    6. anon_mkdir_write_enable=YES
    7. anon_other_write_enable=YES
    8. write_enable=YES
    • /etc/vsftpd/vusers/user2
    1. guest_enable=yes
    2. guest_username=user2
    3. local_root=/data/vftp/user2
    4. anon_upload_enable=YES
    5. anon_world_readable_only=NO
    6. anon_mkdir_write_enable=YES
    7. anon_other_write_enable=YES
    8. write_enable=YES
    • 8. 启停服务

    1. # systemctl enable  vsftpd //启用自动启动服务
    2. # systemctl start   vsftpd //启动服务
    3. # systemctl stop    vsftpd //停止服务
    4. # systemctl restart vsftpd //重启服务

  • 相关阅读:
    虚拟DOM
    代理IP应该怎么选?如何选择合适的代理IP
    第27章_瑞萨MCU零基础入门系列教程之freeRTOS实验
    Android下怎么使用LDD查看依赖库
    C# 学习之路(C# 的概念)
    基于SpringBoot+Netty实现即时通讯(IM)功能
    用做产品的思路来做数字化
    LeetCode经典算法题 no.118杨辉三角
    没掌握这些知识点也敢说自己熟悉AIDL?
    1.4_18 Axure RP 9 for mac 高保真原型图 - 案例17 【js-echarts官网】
  • 原文地址:https://blog.csdn.net/muren/article/details/133047218