菜单

准备工作

开始正式操作步骤之前,数据卖方与数据买方分别完成环境与账号就绪准备(环境部署、访问配置、样例数据文件、实例磁盘等)。

适用版本:数据安全柜 1.1.1 及后续兼容版本(买方网页端须包含 Web 组件)。


约定信息

后续步骤中的名称与路径采用下列示例。实际环境中按现场账号、路径替换。

约定项 示例值
卖方账号 / 典枢号 lihua
买方账号 / 典枢号 wangfang
安全域名称 trade-domain-001
实例名称 instance-wangfang-01
买方实例所用磁盘 / 分区 /dev/sdb1(须为独立分区,不可用普通文件夹)
卖方原始数据 /Users/admin/source-data/industry-data-2026.csv
加密后文件 /Users/admin/encrypted/industry-data-2026.csv.sealed

买方准备工作清单

数据买方在进行数据交易前,请确保完成以下清单的准备工作。网页端安装在买方部署主机上,使用前须完成安装、服务与浏览器访问配置。

  • 已具备可登录的典枢号(示例:wangfang)
  • 已在个人中心查看典枢号,并告知数据卖方
  • 已准备独立磁盘或分区(示例分区:/dev/sdb1)
  • 部署主机已安装 datasafebox-cmd-cli(1.1.1 或更高版本的完整软件包,含 dvwebd、Web 静态页面和 dvweb.service)
  • dvagent.service、dvweb.service 运行正常,健康检查通过
  • 已按部署形态完成本机或远程 HTTPS 访问配置,浏览器可打开网页端登录页
  • 样例原始文件已放在部署主机可访问路径(示例:/Users/admin/source-data/industry-data-2026.csv)

卖方准备工作清单

数据卖方在进行数据交易前,请确保完成以下清单的准备工作。卖方使用本机安装的数据安全柜控制台。

  • 已具备可登录的典枢账号(示例:lihua)
  • 已获知买方典枢号(示例:wangfang)
  • 已下载并安装「数据安全柜控制台」,本机可打开控制台登录页

买方准备操作步骤

本任务需要由数据买方操作执行。

数据安全柜 1.1.1 提供了网页端。网页端并不是独立的业务服务,而是将浏览器操作转换为本机守护进程操作的可视化客户端:安全域、实例、审核和文件操作仍由 dvagentd 完成。网页端由 dvwebd 网关提供页面和 API;它以低权限的 dvweb 用户运行,浏览器不会直接访问数据盘或内核模块。

网页端是部署主机上的可视化客户端,不是供多个不同账号同时共用的中心化 Web 门户。同一 dvagentd 同时只维护一个业务登录身份;其他浏览器或 CLI 使用另一个账号登录后,当前网页端会话会提示重新登录。

一、 准备典枢账号

  1. 若已有典枢平台账号:可直接用于数据安全柜,无需重复注册。
  2. 若无账号:须先前往典枢官网完成注册。可选方式:手机号 + 密码、手机号 + 验证码,以及登录页提供的微信 / QQ / Gitee 等快捷登录。

二、 通过 APT 安装或升级

首次安装时,如尚未配置软件源,请先完成软件源配置,然后安装软件包:

bash 复制代码
sudo apt update
sudo apt install -y datasafebox-cmd-cli

已有旧版本时,升级到包含网页端的版本:

bash 复制代码
sudo apt update
sudo apt install --only-upgrade datasafebox-cmd-cli
dv --version

安装或升级完成后,安装脚本会创建 dvweb 系统用户,并依次启用/重启 dvagent.service 和 dvweb.service。升级会短暂中断网页端访问,请避开正在进行的关键操作。

此处仅说明 APT 软件包部署。当前没有可直接复用的 Docker/Compose 部署方案,也不建议仅替换 dvwebd 而保留旧版 dvagentd。

三、 验证服务与页面

在部署主机执行:

bash 复制代码
test -x /opt/datasafebox-cmd-cli/bin/dvwebd && echo "dvwebd 已安装"
sudo systemctl status dvagent.service dvweb.service --no-pager
curl --noproxy '*' -fsS http://127.0.0.1:8080/api/healthz

健康检查成功时会返回 JSON,其中包含 "ok":true 和 "daemon":"reachable"。若 dvweb.service 不存在或 dvwebd 未安装,请先确认当前软件包版本确为 1.1.1 或更高版本。

默认访问地址为:

text 复制代码
http://127.0.0.1:8080/

该地址默认只允许部署主机本机访问。请在部署主机的浏览器中打开它;打开后会自动跳转到三方登录页,登录成功会自动回到数据安全柜首页。

四、 远程访问与自定义访问链接

网页端的访问方式取决于 dvwebd 部署在什么样的机器上:

  • 部署主机是日常使用、已经装有桌面环境和浏览器的 Linux 机器:直接看下文「1、Linux 桌面版:直接通过浏览器访问」,不需要额外配置。
  • 部署主机是没有桌面环境的服务器,需要从其他机器的浏览器访问:看下文「2、Server 版:配置 IP+端口直接访问」,配置成可通过 IP+端口 直接访问。

1、 Linux 桌面版:直接通过浏览器访问

dvwebd 默认监听 127.0.0.1:8080。只要浏览器和 dvwebd 运行在同一台机器上,直接打开上文「三、验证服务与页面」的默认链接即可:

text 复制代码
http://127.0.0.1:8080/

不需要修改配置,也不需要额外的网络设置。

若默认的 8080 端口和本机其他服务冲突,或想自定义端口,可以直接改端口,不需要启用 HTTPS(因为仍然监听在 127.0.0.1 回环地址上):

  1. 编辑网页端服务专用配置文件 /var/lib/dvweb/.local/share/dv/config.ini(不是 CLI 用的 /root/.local/share/dv/config.ini),保留已有内容,只新增或修改 [web] 节:
ini 复制代码
[web]
port=8090
  1. 重启服务并验证:
bash 复制代码
sudo systemctl restart dvweb.service
curl --noproxy '*' -fsS http://127.0.0.1:8090/api/healthz
  1. 在浏览器打开新的地址:
text 复制代码
http://127.0.0.1:8090/

只要 listen 仍保持默认的 127.0.0.1(回环地址),改端口不需要配置 TLS 证书,登录回调地址也会自动按新端口推断,无需手动设置 callback_url。

2、 Server 版:配置 IP+端口直接访问

适用于没有桌面环境、需要其他机器直接通过 https://<服务器IP>:<端口>/ 访问的服务器部署。

出于会话安全考虑,dvwebd 只允许两种监听方式之一:绑定 127.0.0.1(仅本机可访问,见上文「1、Linux 桌面版:直接通过浏览器访问」),或者绑定对外地址并同时启用 TLS。dvwebd 会拒绝在非回环地址上以明文 HTTP 启动。因此「IP+端口」直接访问目前必须启用 HTTPS。

  1. 准备证书目录和私钥(示例路径 /var/lib/dvweb/tls/,私钥只对 dvweb 用户可读):
bash 复制代码
sudo install -d -o root -g dvweb -m 0750 /var/lib/dvweb/tls
sudo install -o root -g dvweb -m 0644 /path/to/fullchain.pem /var/lib/dvweb/tls/fullchain.pem
sudo install -o root -g dvweb -m 0640 /path/to/privkey.pem /var/lib/dvweb/tls/privkey.pem

如果只有服务器 IP、没有域名:大多数 CA 不会给纯 IP 签发证书,可以改用自签名证书(SAN 中需包含该 IP):

bash 复制代码
openssl req -x509 -newkey rsa:2048 -nodes -days 825 \
  -keyout privkey.pem -out fullchain.pem \
  -subj "/CN=<服务器IP>" -addext "subjectAltName=IP:<服务器IP>"

使用自签名证书时,浏览器会提示「证书不受信任」,需要手动信任该证书才能继续访问。

  1. 编辑网页端服务专用配置文件 /var/lib/dvweb/.local/share/dv/config.ini(不是 CLI 用的 /root/.local/share/dv/config.ini),保留已有内容,只新增或修改 [web] 节,直接用 IP 作为访问地址:
ini 复制代码
[web]
listen=0.0.0.0
port=8443
tls_cert=/var/lib/dvweb/tls/fullchain.pem
tls_key=/var/lib/dvweb/tls/privkey.pem
callback_url=https://<服务器IP>:8443/api/auth/callback

保存后确保文件权限正确:

bash 复制代码
sudo chown dvweb:dvweb /var/lib/dvweb/.local/share/dv/config.ini
sudo chmod 0600 /var/lib/dvweb/.local/share/dv/config.ini
  1. 重启并验证:
bash 复制代码
sudo systemctl restart dvweb.service
curl --noproxy '*' -fsSk https://<服务器IP>:8443/api/healthz

然后在浏览器打开 https://<服务器IP>:8443/,并在防火墙或安全组中仅向需要的来源开放该端口。

要点速查:

配置项 说明
listen 监听地址,0.0.0.0 表示所有 IPv4 网卡
port 监听端口,需大于 1024(dvwebd 以非 root 用户运行)
tls_cert / tls_key 证书与私钥路径,必须成对有效且可被 dvweb 读取
callback_url 浏览器实际访问的完整回调地址,须以 /api/auth/callback 结尾,协议、地址、端口需与访问链接一致
配置优先级 dvwebd 命令行参数 > config.ini > 内置默认值

不要修改 /lib/systemd/system/dvweb.service(或系统对应的 vendor unit 路径)来改端口或地址,软件包升级可能覆盖该文件。

不支持反向代理或子路径部署:网页端前端和 API 固定部署在站点根路径,不能配置为 https://example.com/datasafebox/ 这类子路径访问;请使用独立域名/IP 或独立端口。

结果: 部署主机已安装网页端。浏览器打开访问地址后会自动跳转到登录页,登录成功会自动回到数据安全柜首页,无需像命令行登录那样复制授权码。

五、 准备样例原始数据

  1. 将样例文件放到部署主机可访问目录(示例:/Users/admin/source-data/industry-data-2026.csv)。
  2. 确认文件可读。

注意事项: 网页端文件选择器浏览的是 dvagentd 所在部署主机文件系统,不是操作员个人电脑上的文件。远程打开网页端时,仍须先把文件放到部署主机再选择路径。

六、 准备实例磁盘

注意事项:

  • 须为独立磁盘 / 分区,不可使用普通文件夹。
  • 勿选择系统盘或存有重要业务数据的磁盘;所选盘将用于加密存储,首次启动实例时会初始化,原有数据不可恢复。
  1. 准备空闲磁盘或分区。
  2. 确认该分区为独立分区(示例:/dev/sdb1)。

卖方准备操作

本操作任务需要由数据卖方操作执行。

一、 准备典枢账号

  1. 若已有典枢平台账号:可直接用于数据安全柜。

  2. 若无账号:须先前往典枢官网完成注册。

  3. 向数据买方获取其典枢号(示例:wangfang)。

二、 下载并安装数据安全柜控制台

  1. 打开 数据安全柜产品页。

  2. 按本机系统下载数据安全柜控制台安装包。

  3. 运行安装程序,按安装向导完成安装。

  4. 确认本机可启动「数据安全柜控制台」并出现登录页。


准备阶段常见问题(买方网页端)

现象 处理
页面无法打开 检查 dvweb.service 是否运行;本机执行健康检查
健康检查提示守护进程不可达 检查 dvagent.service;网页端依赖业务守护进程
服务反复重启或无法绑定端口 查看 journalctl -u dvweb.service;确认端口未被占用
远程 HTTPS 起不来 确认 listen、tls_cert、tls_key、callback_url 已成套配置且证书可读
登录后回不到网页端 确认 callback_url 与浏览器地址的协议、主机、端口完全一致
提示会话被其他用户接管 同一部署主机上其他入口已用另一账号登录;确认应用账号后重新登录
网页端找不到笔记本上的文件 文件选择器仅浏览部署主机;先将文件放到部署主机再选择

排查时可收集:

bash 复制代码
sudo systemctl status dvagent.service dvweb.service --no-pager
sudo journalctl -u dvweb.service -n 100 --no-pager
最近修改: 2026-09-28