注意:以下命令需要 root 权限来执行,建议直接切换到 root 用户后再执行以下命令。
dv <子命令组> <操作> [参数] [选项]
根帮助页当前展示的子命令组及其操作:
auth:用户认证
login:用户登录logout:用户登出whoami:查看当前用户domain:安全域管理
create:创建安全域list:查看安全域列表show:查看安全域详情update:更新安全域描述close:关闭安全域add-user:添加可见用户remove-user:移除可见用户encrypt:加密文件至安全域instance:安全域实例管理
create:创建安全域实例list:查看实例列表show:查看实例详情start:启动安全域实例delete:删除安全域实例add-whitelist:添加应用白名单remove-whitelist:移除应用白名单import:导入文件至实例export:申请导出文件audit:审核管理
list:查看待审核列表instance-detail:查看实例化申请详情instance:审核实例化申请whitelist-detail:查看应用白名单申请详情whitelist:审核应用白名单申请export-detail:查看导出申请详情export:审核导出申请message:消息中心
list:查看消息列表show:查看消息详情read:标记消息为已读read-all:标记所有消息为已读delete:删除消息根帮助页当前列出的全局选项:
-h, --help:显示帮助信息-v, --version:显示版本信息--format <table|json>:输出格式,默认 table补充说明:
--force 不是通用选项,只在具体动作中生效;当前公开命令里使用它的动作有 dv domain close、dv instance start、dv instance delete、dv message delete--format json 主要影响列表和表格输出;是否支持以具体动作实现为准dv auth ... 不要求预先登录auth_user_id;展示名优先从本地缓存的 auth_user_name 解析dv domain list 会尽量用后端刷新可访问安全域;刷新不可用时退回本地缓存dv domain show 在有 token 且后端可用时会尝试刷新安全域详情;非安全域创建者会被强制限制为 info 视图dv instance list 默认只展示当前账号创建的实例;若后端不可用或缺少 token,会带警告退回本地缓存dv instance show、dv message list 等动作对后端依赖更强,不能简单等同为“本地只读命令”dv auth)dv auth login
参数说明:
必要说明:
auth_user_id 打开对应用户数据库,并把 auth_user_id 写入 ~/.dv/session示例:
dv auth login
dv auth logout
参数说明:
必要说明:
示例:
dv auth logout
dv auth whoami
参数说明:
必要说明:
dv auth login 登录示例:
dv auth whoami
dv domain)dv domain create -n <名称> --payer <创建者|使用者> [--desc <描述>] [--users <u1,u2>]
参数说明:
-n, --name <名称>:安全域名称,必填,长度 2 到 32,仅支持中文、英文、数字、_、---payer <创建者|使用者>:费用承担方,必填--desc <描述>:安全域描述,可选,最多 500 个字符--description <描述>:--desc 的别名--users <u1,u2>:可见用户列表,逗号分隔必要说明:
示例:
dv domain create -n "研发数据域" --payer 创建者 --desc "研发敏感数据" --users alice,bob
dv domain list [--status <running|closed>] [--format <table|json>]
参数说明:
--status <running|closed>:按状态筛选--format <table|json>:输出格式必要说明:
/api/domain/list 刷新当前可访问安全域及其状态示例:
dv domain list --status running
dv domain show <安全域名称|安全域编号|公钥> [--section <info|users|instances|whitelist|exports|all>]
参数说明:
<安全域名称|安全域编号|公钥>:安全域标识,必填--section <info|users|instances|whitelist|exports|all>:仅显示指定部分,默认 all必要说明:
info:基本信息users:可见用户列表instances:安全域实例列表whitelist:应用白名单申请列表exports:文件导出申请列表instances、whitelist、exports 时还会继续同步相关后端列表info 视图,不能查看 users、instances、whitelist、exports示例:
dv domain show "研发数据域" --section whitelist
dv domain update <安全域名称|安全域编号|公钥> --desc <描述>
参数说明:
<安全域名称|安全域编号|公钥>:安全域标识,必填--desc <描述>:安全域描述,必填,最多 500 个字符--description <描述>:--desc 的别名必要说明:
示例:
dv domain update "研发数据域" --desc "更新后的描述"
dv domain close <安全域名称|安全域编号|公钥> [--force]
参数说明:
<安全域名称|安全域编号|公钥>:安全域标识,必填--force:跳过确认提示必要说明:
--force 时直接执行示例:
dv domain close "研发数据域" --force
dv domain add-user <安全域名称|安全域编号|公钥> -u <用户账号>
参数说明:
<安全域名称|安全域编号|公钥>:安全域标识,必填-u, --user <用户账号>:要添加的用户账号,必填必要说明:
auth_user_id,再写入可见用户列表示例:
dv domain add-user "研发数据域" -u alice
dv domain remove-user <安全域名称|安全域编号|公钥> -u <用户账号>
参数说明:
<安全域名称|安全域编号|公钥>:安全域标识,必填-u, --user <用户账号>:要移除的用户账号,必填必要说明:
auth_user_id,也支持基于本地用户缓存解析用户名;若命中多个同名用户会报错示例:
dv domain remove-user "研发数据域" -u alice
dv domain encrypt <安全域名称|安全域编号|公钥> -f <文件路径> [-o <输出路径>]
参数说明:
<安全域名称|安全域编号|公钥>:安全域标识,必填-f, --file <文件路径>:要加密的文件路径,必填-o, --output <输出路径>:输出路径,可选,默认在原文件名后追加 .sealed必要说明:
示例:
dv domain encrypt "研发数据域" -f /data/report.xlsx -o /data/report.xlsx.sealed
dv instance)dv instance create -d <安全域名称|安全域编号|公钥> -n <实例名称> --disk <挂载点> [--whitelist <路径>]
参数说明:
-d, --domain <安全域名称|安全域编号|公钥>:所属安全域,必填-n, --name <名称>:实例名称,必填--disk <挂载点>:独立磁盘分区挂载点,必填--whitelist <路径>:应用白名单主程序路径,可选必要说明:
--disk 必须是独立磁盘分区的挂载点,不能是某个分区下的普通子目录--whitelist 当前只支持单个主程序路径示例:
dv instance create -d "研发数据域" -n "开发实例1" --disk /data/safebox --whitelist /usr/bin/ls
dv instance list [-d <安全域>] [--status <pending|authorized|rejected|running|expired|closed>] [--format <table|json>]
参数说明:
-d, --domain <安全域>:按安全域筛选--status <pending|authorized|rejected|running|expired|closed>:按实例状态筛选--format <table|json>:输出格式必要说明:
pending、authorized、rejected、running、expired、closed示例:
dv instance list --status authorized
dv instance show <实例名称或编号> [--section <info|whitelist|exports|all>]
参数说明:
<实例名称或编号>:实例标识,必填--section <info|whitelist|exports|all>:只显示指定部分,默认 all必要说明:
/api/instance/detail 刷新实例状态;后端接口不可用或缺少 token 时会直接失败whitelist 显示应用白名单申请记录exports 显示文件导出申请记录section 为 all、whitelist 或 exports 时,命令会自动提交尚未提交过的已授权申请到内核申请编号 + 文件编号 自动提交section=info 仅显示基本信息,不触发自动提交示例:
dv instance show "开发实例1" --section exports
dv instance start <实例名称或编号> [--force]
参数说明:
<实例名称或编号>:实例标识,必填--force:跳过确认提示必要说明:
--force 时跳过确认/api/instance/detail 获取 encryptedDomainPriKeyencryptedDomainPriKey 会在内存中解密为安全域私钥,不会写回本地数据库encryptedDomainPriKey,启动会直接失败trammel 内核注册安全域,再调用后端 /api/instance/run示例:
dv instance start "开发实例1" --force
dv instance delete <实例名称或编号> [--force]
参数说明:
<实例名称或编号>:实例标识,必填--force:跳过删除确认;若实例处于运行中,仍需输入设备路径确认格式化必要说明:
mkfs.ext4--force 时,如果后端删除成功但本地卸载、格式化或内核清理失败,实例记录仍会删除,并输出残留警告示例:
dv instance delete "开发实例1" --force
dv instance add-whitelist <实例名称或编号> -p <应用路径> [--reason <申请原因>]
参数说明:
<实例名称或编号>:实例标识,必填-p, --path <应用路径>:要添加的应用路径,必填--reason <申请原因>:申请原因,可选,最多 500 个字符必要说明:
示例:
dv instance add-whitelist "开发实例1" --path /usr/bin/python3 --reason "研发脚本执行"
dv instance remove-whitelist <实例名称或编号> -p <应用路径或名称>
参数说明:
<实例名称或编号>:实例标识,必填-p, --path <应用路径或名称>:要移除的应用路径或名称,必填必要说明:
示例:
dv instance remove-whitelist "开发实例1" --path python3
dv instance import <实例名称或编号> -f <文件路径>
参数说明:
<实例名称或编号>:实例标识,必填-f, --file <文件路径>:要导入的文件路径,必填必要说明:
-f/--file 值;动作帮助中的多 -f 示例不代表稳定支持一次导入多个文件.sealed 结尾,会先解密再导入;否则直接复制到实例路径示例:
dv instance import "开发实例1" -f /tmp/report.xlsx.sealed
dv instance export <实例名称或编号> -f <文件路径列表> [--reason <导出原因>]
参数说明:
<实例名称或编号>:实例标识,必填-f, --files <文件路径列表>:要导出的文件列表,必填--reason <导出原因>:导出原因,可选,最多 500 个字符必要说明:
-f "/a,/b" 或 --files "/a,/b"-f/--files 合并为一个稳定的文件列表示例:
dv instance export "开发实例1" --files "/data/report.pdf,/data/result.csv" --reason "项目汇报"
dv audit)dv audit list [--type <instance|whitelist|export|all>] [--domain <安全域>]
参数说明:
--type <instance|whitelist|export|all>:审核类型,默认 all--domain <安全域>:按安全域筛选必要说明:
instance:实例化申请whitelist:应用白名单申请export:文件导出申请示例:
dv audit list --type whitelist
dv audit instance-detail <实例编号>
必要说明:
示例:
dv audit instance-detail I17726096359687372
dv audit instance <实例编号> --action <approve|reject>
参数说明:
--action <approve|reject>:审核动作,必填必要说明:
示例:
dv audit instance I17726096359687372 --action approve
dv audit whitelist-detail <申请编号>
示例:
dv audit whitelist-detail A17736720770637258
dv audit whitelist <申请编号> --action <approve|reject>
参数说明:
--action <approve|reject>:审核动作,必填必要说明:
示例:
dv audit whitelist A17736720770637258 --action reject
dv audit export-detail <申请编号> --file-code <文件编号>
参数说明:
--file-code <文件编号>:指定要查看的文件编号,必填必要说明:
示例:
dv audit export-detail A17735869339174558 --file-code F17735869339170001
dv audit export <申请编号> --file-code <文件编号> --action <approve|reject>
参数说明:
--file-code <文件编号>:指定要审核的文件编号,必填--action <approve|reject>:审核动作,必填必要说明:
approveSign示例:
dv audit export A17735869339174558 --file-code F17735869339170001 --action approve
dv message)dv message list [--filter <all|unread>] [--page <页码>] [--size <每页数量>] [--format <table|json>]
参数说明:
--filter <all|unread>:过滤条件,默认 all--page <页码>:页码,默认 1--size <每页数量>:每页数量,默认 10--format <table|json>:输出格式必要说明:
unread 仅显示未读消息示例:
dv message list --filter unread --format json
dv message show <消息编号>
必要说明:
示例:
dv message show M17726119432052285
dv message read <消息编号>
必要说明:
示例:
dv message read M17726119432052285
dv message read-all
必要说明:
示例:
dv message read-all
dv message delete <消息编号> [--force]
参数说明:
--force:跳过确认提示必要说明:
--force 时直接删除示例:
dv message delete M17726119432052285 --force
以下返回码是当前实现中的常见语义,不是所有命令共享的严格全局枚举:
0:成功1:一般错误、后端错误、数据库错误,或未知命令组2:参数错误、输入校验失败,或未知操作3:未登录4:权限不足5:资源不存在6:资源冲突或已存在7:当前状态不允许执行该操作9:文件相关错误