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.pswp.cn/web/12569.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/12569.shtml
英文地址,請注明出處:http://en.pswp.cn/web/12569.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JVS物聯網、無憂企業文檔、規則引擎5.14功能新增說明

項目介紹 JVS是企業級數字化服務構建的基礎腳手架,主要解決企業信息化項目交付難、實施效率低、開發成本高的問題,采用微服務配置化的方式,提供了 低代碼數據分析物聯網的核心能力產品,并構建了協同辦公、企業常用的管理工具等&am…

ubuntu在當前路徑下打開Terminal

在 Ubuntu 20.04 中,nautilus-open-terminal 已經被 nautilus-extension-gnome-terminal 替代了。你可以嘗試安裝這個新的包。以下是在終端中執行的命令: sudo apt-get update sudo apt-get install nautilus-extension-gnome-terminal安裝完成后&#…

Java面向對象——抽象類

abstract修飾符可以用來修飾方法也可以修飾類,如果修飾方法,那么該方法就是抽象方法;如果修飾類,那么該類就是抽象類。 抽象類中可以沒有抽象方法,但是有抽象方法的類一定要聲明為抽象類。 抽象類,不能…

函數的遞歸調用

在調用一個函數的過程中又出現直接或間接地調用該函數本身,稱為函數的遞歸(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…

qt 麒麟系統 connot find /usr/local/lib

目錄 解決方法: 后來又報錯: cannot find -lopencv_world3.4.6 connot find /usr/local/lib 解決方法: LIBS -L/usr/local/lib -lopencv_world3.4.6QMAKE_LFLAGS -Wl,-rpath,/usr/local/lib 后來又報錯: cannot find -lopencv…

【CSP CCF記錄】202009-1 稱檢測點查詢

題目 過程 難點&#xff1a;編號和位置的一一對應&#xff0c;不同位置的距離可能相等。 所以使用一個結構體記錄不同檢測點的編號和到居民地的距離。 sort函數進行排序。Sort函數使用方法 參考&#xff1a;http://t.csdnimg.cn/Y0Hpi 代碼 #include <bits/stdc.h>…

Vue3.0-Ref

一、值類型與引用類型 1.1 定義和說明 在JavaScript中&#xff0c;數據類型可以分為兩類&#xff1a;值類型&#xff08;或基本數據類型&#xff09;和引用類型。 值類型&#xff08;基本數據類型&#xff09;&#xff1a; undefined null boolean number string symbo…

正則表達式和lambda表達式

正則表達式&#xff08;Regular Expressions&#xff09;和Lambda表達式雖然都包含“表達式”一詞&#xff0c;但它們在編程中的作用和用法是完全不同的。讓我們詳細比較一下它們的定義、用途和應用場景&#xff1a; 正則表達式 定義&#xff1a;正則表達式是一種用于匹配文本…

人工智能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…

VueRouter使用總結

VueRouter 是 Vue.js 的官方路由管理器&#xff0c;用于構建單頁面應用&#xff08;SPA&#xff09;。在使用 VueRouter 時&#xff0c;開發者可以定義路由映射規則&#xff0c;并在 Vue 組件中通過編程式導航或聲明式導航的方式控制頁面的跳轉和展示。以下是 VueRouter 使用的…

隨筆:貝特彈琴

半年前&#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…