创建新文档

您的文档标题(将显示为 H1)
URL 友好名称(无空格,使用连字符)
创建文档的路径(可选,使用正斜杠创建子目录)

移动/重命名文档

文档的当前位置
文档的新路径(包括别名)
这只会更改文档的路径,不会修改文档的标题(H1 标题)。

删除文档

您确定要删除此文档吗?此操作无法撤销。

警告:如果这是一个文件夹,包括子文件夹和文档在内的所有内容将被删除。

Message

Message content goes here.

Confirm Action

Are you sure?

附件

允许的文件类型:jpg, jpeg, png, gif, svg, webp, txt, log, csv, sfd, zip, pdf, docx, xlsx, pptx, mp4(最大:10MB)

文档文件

正在加载附件...

文档历史

以前的版本

Loading versions...

预览

选择要预览的版本

Wiki 设置

用户界面语言
每个文档保留的版本数量。设置为0以禁用版本控制。
上传文件的最大允许大小(MB)。

用户管理

添加新用户

留空以保持当前密码
拥有这些组的用户可以访问受限部分。

为您的Wiki部分定义基于路径的访问规则。规则按顺序评估。首次匹配生效。

活动规则

从ZIP归档文件导入Markdown文件。文件将被处理并存储在适当的文档结构中。ZIP中的目录结构(类别/子类别)将在wiki中保留。

上传包含要导入的Markdown(.md)文件的ZIP归档(压缩包)。

创建和管理您的 Wiki 数据备份。备份包括所有文档、图像和配置文件。

可用备份

正在加载备份...

添加/编辑访问规则

已选择: /

添加列

IAM-Authelia

#IAM #SSO #统一身份 #oauth2

Authelia 是一款轻量级的SSO身份认证程序,支持SSO。

简单部署:

安装依赖

# Ubuntu/Debian
sudo apt update
sudo apt install -y redis-server nginx wget unzip

# CentOS/RHEL
sudo yum install -y epel-release
sudo yum install -y redis nginx wget unzip
sudo systemctl enable --now redis

检查redis 是否运行
systemctl status redis
redis-clij

# 创建一个文件夹存放相关数据
mkdir -p authelia.app/{storage,config,bin}

其中:

下载二进包

对应相应系统下载对应的二进包,通常选择: authelia-xxxx-amd64.tar.gz 的版本

curl -x http://localhost:10002 -LO https://github.com/authelia/authelia/releases/download/v4.39.15/authelia-v4.39.15-linux-amd64.tar.gz
tar xzvf authelia-xxx.tar.gz
mv authelia authelia.app/bin

进行初始配置

以下操作都在 authelia.app 这个主目录下进行。

初始化各种所需的KEY,加密数据用的

openssl rand -base64 32 | tee storage/session_secret
openssl rand -base64 32 | tee storage/jwt_secret
openssl rand -base64 32 | tee storage/storage_encryption_key

创建一个基本配置文件 config/config.yml

server.address: 127.0.0.1:9091
log:
  level: info

theme: dark

identity_validation.reset_password.jwt_secret: storage/jwt_secret

default_redirection_url: https://auth.ovwx.org

totp:
  issuer: ovwx.org

authentication_backend:
  file:
    path: storage/users.yml
    password:
      algorithm: argon2id
      iterations: 1
      salt_length: 16
      parallelism: 8
      memory: 64

access_control:
  default_policy: deny
  rules:
    - domain: "auth.ovwx.org"
      policy: bypass
    - domain: "*.ovwx.org"
      policy: one_factor
      subject: "group:admins"
    - domain: "xyz.ovwx.org"
      policy: two_factor

session:
  name: authelia_session
  secret: storage/session_secret
  expiration: 1h
  inactivity: 5m
  domain: ovwx.org
  redis:
    host: 127.0.0.1
    port: 6379
    database_index: 0

regulation:
  max_retries: 5
  find_time: 2m
  ban_time: 5m

storage:
  encryption_key: storaget/storage_encryption_key
  local:
    path: storage/db.sqlite3

notifier:
  filesystem:
    filename: storage/notifications.txt

创建一个默认用户:storage/users.yml

users:
  fnch:
    #disabled: true
    displayname: "admin"
    password: "encrypted password"
    email: [email protected]
    groups:
      - admins
      - dev

其中:

编写一个启动脚本

#!/bin/bash

[ $UID -ne 0 ] && {
  exec sudo "$0" "$@"
  exit $?
}

WorkDir=$(cd $(dirname $0);pwd)
APP=bin/authelia

pushd $WorkDir
systemctl reset-failed
systemd-run -p User=hsiaotien \
  -p WorkingDirectory=$WorkDir \
  -p Group=hsiaotien \
  -p NoNewPrivileges=yes \
  -p ProtectSystem=full \
  -p ReadOnlyPaths=/home/hsiaotien \
  -p ReadWritePaths=$WorkDir \
  -u authelia \
  ./$APP --config config/config.yml

注意,下载的二进制包中也包含 service unit文件,用那个也可以,只是用普通用户运行的话,这个比较方便。运行脚本

./service.sh

此时系统会监听在 127.0.0.1 9091 端口,也可以监听在全部IP地址上,修改配置文件的,server.address 配置项即可。

在你使用的反向代理上配置以下项目,注意,最好在反向代理上配置好SSL证书之类的,这样做好映射就可以用了

auth.xxx.org -> 127.0.0.1:9091

做完后直接访问:https://auth.xxx.org 并使用配置在 users.yml 中的用户和密码访问就可以了

还有一个注意事项

初始登录时,有可能还需要绑定二次认证密码,但这个二次认证的密码初始化时,系统需要你接收一个通知,而authelia配置项中有一个就是通知设置。配置文件中设置为 filesystem,此时我们需要去查看 notifier设定的那个文件(上面的配置文件是 storage/notifications.txt),初始验证时的验证码会写入那个文件里面。用里面的验证码可以添加OTP设备。

附件

正在加载附件...

评论

暂无评论。成为第一个评论者!

搜索结果