SFTPGO 整合minio AD群组 测试 |sftpgo with minio and ldap group test

SFTP-GO 研究
最近在测试sftpgo,发现中文的资料比较少,在企业中很多存储开始支持S3,比如netapp
于是想尝试把文件服务器换成sftpgo+S3的存储,sftp go和AD 群组的搭配测试比较少
自己测试了一把,觉得还是没有server-u的AD群组方便,但是比filezilla server强太多,记录下面供各位参考

文章目录

    • 1.安装-docker方式
    • 2.增加存储
      • 2.1 本地存储
      • 2.2 Miniio 存储
    • 3.IP过滤测试
    • 4.AD整合测试
    • 5.群组测试
      • 5.1 在组里面挂载存储
      • 5.2 在组里面挂载虚拟目录
    • 6.使用顺序
      • 6.1 先新建文件夹
      • 6.2 再新建组
      • 6.3 新建用户
      • 6.4 将用户加入组
    • 7.文件权限设置

1.安装-docker方式

实际配置

需要对文件目录授权,生产环境权限不要这么粗暴


mkdir -p /docker/sftpgo/sftpgodata
mkdir -p /docker/sftpgo/sftpgohome
chmod -R 777 /docker/sftpgo
version: '3.8'
services:mariadb:image: "mariadb:10.7"container_name: "mariadb"hostname: "mariadb"restart: unless-stoppedports:- '3306:3306'volumes:- "./mariadb_data:/var/lib/mysql"- "/etc/localtime:/etc/localtime:ro"environment:- "MARIADB_ROOT_PASSWORD=密码"- "MARIADB_USER=npi"- "MARIADB_PASSWORD=密码"- "MARIADB_DATABASE=sftpgo"networks:- npisftpgo:image: "drakkan/sftpgo:2.5.x-plugins"container_name: "sftpgo"hostname: "sftpgo"restart: unless-stoppedports:- '8080:8080'- '2022:2022'volumes:- "./sftpgohome:/var/lib/sftpgo"- "./sftpgodata:/srv/sftpgo"environment:# These are the settings to access your dbSFTPGO_WEBDAVD__BINDINGS__0__PORT: 5007SFTPGO_DATA_PROVIDER__DRIVER: "mysql"SFTPGO_DATA_PROVIDER__NAME: "sftpgo"SFTPGO_DATA_PROVIDER__HOST: "mariadb"SFTPGO_DATA_PROVIDER__PORT: 3306SFTPGO_DATA_PROVIDER__USERNAME: "用户"SFTPGO_DATA_PROVIDER__PASSWORD: "密码"SFTPGO_COMMON_DEFENDER__ENABLED: "true"SFTPGO_COMMON_DEFENDER__BAN_TIME: 15SFTPGO_COMMON_DEFENDER__BAN_TIME_INCREMENT: 100SFTPGO_COMMON_DEFENDER__THRESHOLD: 5SFTPGO_COMMON_DEFENDER__OBSERVATION_TIME: 15networks:- npiminio:image: "minio"container_name: "minio"hostname: "minio"restart: unless-stoppedports:- '9000:9000'- '9002:9001'volumes:- "./minio_data:/data"- "/etc/localtime:/etc/localtime:ro"environment:- "MINIO_ROOT_USER=admin"- "MINIO_ROOT_PASSWORD=密码"networks:- npicommand: server /data --console-address ":9001"networks:npi:internal: false

2.增加存储

2.1 本地存储

实际配置

在这里插入图片描述

用户配置
在这里插入图片描述

2.2 Miniio 存储

建议在组里面挂载miniio
在这里插入图片描述

3.IP过滤测试

ACL中
在这里插入图片描述

在这里插入图片描述

4.AD整合测试

在docker的环境变量里面设置后直接用AD登陆,会自动创建账户
也可以先新建账户,拖组,再直接登陆

发现bug,先建账户,再登陆后会删除账户并重建用户

示例配置:

SFTPGO_PLUGIN_AUTH_LDAP_URL="ldap://192.168.1.5:389"
SFTPGO_PLUGIN_AUTH_LDAP_BASE_DN="dc=mylab,dc=local"
SFTPGO_PLUGIN_AUTH_LDAP_BIND_DN="cn=Administrator,cn=users,dc=mylab,dc=local"
SFTPGO_PLUGIN_AUTH_LDAP_PASSWORD="Password.123456"
SFTPGO_PLUGIN_AUTH_LDAP_SEARCH_QUERY="(&(objectClass=user)(sAMAccountType=805306368)(sAMAccountName=%username%))"
SFTPGO_PLUGIN_AUTH_CACHE_TIME=60
SFTPGO_PLUGINS__0__TYPE=auth
SFTPGO_PLUGINS__0__AUTH_OPTIONS__SCOPE=5
SFTPGO_PLUGINS__0__CMD="/usr/local/bin/sftpgo-plugin-auth"
SFTPGO_PLUGINS__0__ARGS="serve"
SFTPGO_PLUGINS__0__AUTO_MTLS=1

AD组配置

实际配置,设置AD组限制后,发现AD账户要登陆2次才能成功,原因不明

environment:# 以下是数据库配置SFTPGO_WEBDAVD__BINDINGS__0__PORT: 5007SFTPGO_DATA_PROVIDER__DRIVER: "mysql"SFTPGO_DATA_PROVIDER__NAME: "sftpgo"SFTPGO_DATA_PROVIDER__HOST: "mariadb"SFTPGO_DATA_PROVIDER__PORT: 3306SFTPGO_DATA_PROVIDER__USERNAME: "用户"SFTPGO_DATA_PROVIDER__PASSWORD: "密码"SFTPGO_COMMON_DEFENDER__ENABLED: "true"SFTPGO_COMMON_DEFENDER__BAN_TIME: 15SFTPGO_COMMON_DEFENDER__BAN_TIME_INCREMENT: 100SFTPGO_COMMON_DEFENDER__THRESHOLD: 5SFTPGO_COMMON_DEFENDER__OBSERVATION_TIME: 15# 以下是LDAP配置SFTPGO_PLUGIN_AUTH_LDAP_URL: "ldap://IP"SFTPGO_PLUGIN_AUTH_LDAP_BASE_DN: "DN"SFTPGO_PLUGIN_AUTH_LDAP_BIND_DN: "OU"SFTPGO_PLUGIN_AUTH_LDAP_PASSWORD: "密码"SFTPGO_PLUGIN_AUTH_LDAP_SEARCH_QUERY: "(&(objectClass=user)(sAMAccountType=805306368)(sAMAccountName=%username%))"SFTPGO_PLUGIN_AUTH_CACHE_TIME: 60SFTPGO_PLUGINS__0__TYPE: authSFTPGO_PLUGINS__0__AUTH_OPTIONS__SCOPE: 5SFTPGO_PLUGINS__0__CMD: "/usr/local/bin/sftpgo-plugin-auth"SFTPGO_PLUGINS__0__ARGS: "serve"SFTPGO_PLUGINS__0__AUTO_MTLS: 1SFTPGO_PLUGIN_AUTH_PRIMARY_GROUP_PREFIX: "mini2"  #映射sftpgo 到主要群组SFTPGO_PLUGIN_AUTH_REQUIRE_GROUPS: "TRUE" #不设置群组不让登陆,防止用户自动创建
姓名:sftpgo-plugin-authserve - 启动 SFTPGo 插件,必须从 SFTPGo 实例调用它用法:sftpgo-plugin-auth 服务 [命令选项] [参数...]选项:--ldap-url 值 LDAP url,例如 ldap://192.168.1.5:389 或 ldaps://192.168.1.5:636 [$SFTPGO_PLUGIN_AUTH_LDAP_URL]--ldap-base-dn value 基本 DN 定义 LDAP 目录中根对象的地址,例如 dc=mylab,dc=local [$SFTPGO_PLUGIN_AUTH_LDAP_BASE_DN]--ldap-bind-dn value 用于登录 LDAP 服务器以执行搜索的绑定 DN,例如 cn=Administrator,cn=users,dc=mylab,dc=local。 这应该是只读用户 [$SFTPGO_PLUGIN_AUTH_LDAP_USERNAME, $SFTPGO_PLUGIN_AUTH_LDAP_BIND_DN]--ldap-password value 定义的 ldap-bind-dn 的密码。 如果为空,将尝试匿名绑定 [$SFTPGO_PLUGIN_AUTH_LDAP_PASSWORD]--ldap-search-query value 用于查找尝试登录的用户的 ldap 查询。 %username% 占位符将替换为尝试登录的用户名(默认值:(&(objectClass=user)(sAMAccountType=805306368)(sAMAccountName=%username%))) [$SFTPGO_PLUGIN_AUTH_LDAP_SEARCH_QUERY]--ldap-group-attributes value [ --ldap-group-attributes value ] 包含用户所属组的 ldap 属性(默认值:memberOf) [$SFTPGO_PLUGIN_AUTH_LDAP_GROUP_ATTRIBUTES]--primary-group-prefix value LDAP 组的前缀,映射到 SFTPGo 用户的主要组。 SFTPGo 用户只能拥有一个主要组 [$SFTPGO_PLUGIN_AUTH_PRIMARY_GROUP_PREFIX]--secondary-group-prefix value LDAP 组映射到 SFTPGo 用户辅助组的前缀 [$SFTPGO_PLUGIN_AUTH_SECONDARY_GROUP_PREFIX]--membership-group-prefix value 用于映射到 SFTPGo 用户的成员资格组的 LDAP 组的前缀 [$SFTPGO_PLUGIN_AUTH_MEMBERSHIP_GROUP_PREFIX]--require-groups 要求经过身份验证的用户至少是一个 SFTPGo 组的成员(默认值: false) [$SFTPGO_PLUGIN_AUTH_REQUIRE_GROUPS]--starttls value STARTTLS 是加密 LDAP 连接的首选方法。 使用它而不是使用 ldaps:// URL 架构(默认值:0)[$SFTPGO_PLUGIN_AUTH_STARTTLS]--users-base-dir 值 用户默认基目录。 如果已在 SFTPGo 中设置,则保留为空。 如果设置,它必须是绝对路径 [$SFTPGO_PLUGIN_AUTH_USERS_BASE_DIR]--cache-time value 定义经过身份验证的用户的缓存时间(以秒为单位)。 0 表示没有缓存(默认值:0) [$SFTPGO_PLUGIN_AUTH_CACHE_TIME]--skip-tls-verify value 如果设置为 1,则插件接受服务器提供的任何 TLS 证书以及该证书中的任何主机名。 在这种模式下,TLS 容易受到中间人攻击。 这应该仅用于测试(默认值:0)[$SFTPGO_PLUGIN_AUTH_SKIP_TLS_VERIFY]--ca-certificates value [ --ca-certificates value ] 要信任的额外 CA 证书的绝对路径列表 [$SFTPGO_PLUGIN_AUTH_CA_CERTIFICATES]--help, -h 显示帮助

5.群组测试

5.1 在组里面挂载存储

在这里插入图片描述

5.2 在组里面挂载虚拟目录

在这里插入图片描述


6.使用顺序

6.1 先新建文件夹

6.2 再新建组

把6.1文件夹关联到组
在这里插入图片描述

6.3 新建用户

6.4 将用户加入组

不用设置用户目录和权限,全部集成组的
在这里插入图片描述

7.文件权限设置

在用户或者组ACL中设置,类似下图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/12569.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVS物联网、无忧企业文档、规则引擎5.14功能新增说明

项目介绍 JVS是企业级数字化服务构建的基础脚手架,主要解决企业信息化项目交付难、实施效率低、开发成本高的问题,采用微服务配置化的方式,提供了 低代码数据分析物联网的核心能力产品,并构建了协同办公、企业常用的管理工具等&am…

函数的递归调用

在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归(recursive)调用。C和C允许函数的递归调用。例如: int f(int x) { int y,z; zf(y); //在调用函数 f 的过程中&…

云服务器修改端口通常涉及几个步骤

云服务器修改端口通常涉及几个步骤 远程连接并登录到Linux云服务器: 使用SSH工具(如PuTTY、SecureCRT等)远程连接到云服务器。 输入云服务器的IP地址、用户名和密码(或密钥)进行登录。 修改SSH配置文件&#xff1a…

Jmeter使用While控制器

1.前言 对于性能测试场景中,需要用”执行某个事物,直到一个条件停止“的概念时,While控制器控制器无疑是首选,但是在编写脚本时,经常会出现推出循环异常,获取参数异常等问题,下面总结两种常用的…

如何将Excel表格中的图片链接直接显示成图片?

在 Excel 中,你可以通过以下步骤将图片链接转换为直接显示图片: 1. **插入图片链接**:首先,在 Excel 表格中插入图片的链接。你可以在某个单元格中输入图片的链接地址,或者使用 Excel 的“插入图片”功能插入链接。 2.…

从新手到高手,教你如何改造你的广告思维方式!

想要广告震撼人心又让人长时间记住?答案肯定是“创意”二字。广告创意,说白了就是脑洞大开,想法新颖。那些很流行的广告,都是因为背后的想法特别、新颖。做广告啊,就得不停地思考,创新思维是关键。 广告思…

天锐绿盾 | 如何防止电脑内文件遭到泄露?

天锐绿盾是一款专为企业设计的数据防泄漏软件系统,它通过一系列综合性的安全措施来有效防止电脑内文件遭到泄露。 PC地址: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 以下是天锐绿盾防止文件泄露的主要功能和方法&a…

【CSP CCF记录】202009-1 称检测点查询

题目 过程 难点&#xff1a;编号和位置的一一对应&#xff0c;不同位置的距离可能相等。 所以使用一个结构体记录不同检测点的编号和到居民地的距离。 sort函数进行排序。Sort函数使用方法 参考&#xff1a;http://t.csdnimg.cn/Y0Hpi 代码 #include <bits/stdc.h>…

人工智能AI聊天chatgpt系统openai对话创作文言一心源码APP小程序功能介绍

你提到的是一个集成了多种智能AI创作能力的系统&#xff0c;它结合了OpenAI的ChatGPT、百度的文言一心&#xff08;ERNIE Bot&#xff09;以及可能的微信WeLM&#xff08;或其他类似接口&#xff09;等。这样的系统确实能够极大地提高创作效率&#xff0c;并且在各种场景下为用…

Rust Web开发框架actix-web入门案例

概述 在看书的时候&#xff0c;用到了actix-web这个框架的案例。 书里面的版本是1.0&#xff0c;但是我看官网最新都4.4了。 为了抹平这种信息差&#xff0c;所以我决定把官方提供的示例代码过一遍。 核心代码 Cargo.toml [package] name "hello" version &q…

随笔:贝特弹琴

半年前&#xff0c;我买了一架朗朗代言的智能电子琴。所谓智能是指&#xff0c;它配套的手机软件知道你在按哪个键&#xff0c;它还能让任意按键发光。用专业术语说&#xff0c;它的键盘具有输入和输出功能&#xff0c;和软件组合起来是一个完整的计算机系统。 随着软件练习曲…

使用Postman来调用Salesforce Bulk API 2.0的方法

简介 Bulk API 2.0 可以支持大量数据增删改查&#xff0c; 用新版的Dataloader也可以进行访问&#xff0c;但Dataloader会把CSV里的数据先转成Bean对象&#xff0c;这样会耗费大量的时间&#xff0c;而且数据量过大会卡死&#xff0c;所以直接上传CSV会节省大量时间和避免卡死风…

关于电源1

电源的定义 广义定义&#xff1a;电源是将其它形式的能转换成电能的装置。 例如&#xff1a;发电机&#xff1a;将热能、水能、风能、核能、光照、震动等转化为电能的装置。 电池&#xff1a;将化学能转换为电能。 狭义定义&#xf…

每天认识新职业——程序员

一、程序员是什么 程序员是从事程序开发、程序维护的基层工作人员。一般将程序员分为程序设计人员和程序编码人员&#xff0c;但两者的界限并不非常清楚。随着互联网的不断普及&#xff0c;网络上把男程序员称作“程序猿"&#xff0c;女程序员称作“程序媛"。或统称…

Java进阶11 IO流、功能流

Java进阶11 IO流-功能流 一、字符缓冲流 字符缓冲流在源代码中内置了字符数组&#xff0c;可以提高读写效率 1、构造方法 方法说明BufferedReader(new FileReader(文件路径))对传入的字符输入流进行包装BufferedWriter(new FileWriter(文件路径))对传入的字符输出流进行包装…

电子商务电商数据采集接口||电子商务市场数据采集方法,你学到了吗?

小刘从某职业院校电子商务专业毕业后&#xff0c;-直在某品牌电商部负责运营工作&#xff0c;近期&#xff0c;同班同学小王邀请小刘加入创业大军&#xff0c;共同开设网店&#xff0c;销售家乡的螃蟹、鲜虾、扇贝等生鲜水产。 运营经验丰富的小刘决定&#xff0c;在创业开始前…

IT工具集项目

网址 https://github.com/CorentinTh/it-tools?tabreadme-ov-file 类似的项目应该有很多&#xff0c;提供各种it人员的小工具

SDN 实现 vxlan隧道

SDN vxlan隧道 官方介绍&#xff1a; VXLAN&#xff08;Virtual eXtensible Local Area Network&#xff0c;虚拟扩展局域网&#xff09;&#xff0c;是由IETF定义的NVO3&#xff08;Network Virtualization over Layer 3&#xff09;标准技术之一&#xff0c;是对传统VLAN协议…

中途离开项羽投奔刘邦的那些名将谋臣,最后的结果怎么样?

刘邦夺取天下后&#xff0c;说&#xff1a;我自己没什么能力&#xff0c;之所以击败项羽&#xff0c;都是大家的功劳。带兵横扫强敌&#xff0c;我不如韩信&#xff1b;筹措粮草物资&#xff0c;源远不断地给前线供应粮饷&#xff0c;我不如萧何&#xff1b;坐在帐中&#xff0…