当前位置: 首页 > news >正文

GBase 8s V8.8 运维管理:认识一个环境变量NODEFDAC

在数据库运维管理中,权限控制是保障数据安全的重要环节。今天我们来介绍GBase 8s(gbase database)中一个实用的环境变量——NODEFDAC,它可以帮助我们精细控制新建表的默认访问权限。

在非ANSI兼容的数据库中,通过设置NODEFDAC环境变量为yes,数据库服务器会在创建新表时,不授予PUBLIC默认的表访问权限。

export NODEFDAC=yes

关键注意事项:

- yes 设置区分大小写,并且对前导和尾随空格敏感
- 设置中包含大写字母或空格相当于未设置NODEFDAC
- 当NODEFDAC未设置,或设置为除 yes 之外的任何值,在非ANSI兼容的数据库中创建表,默认会向PUBLIC授予默认权限
- 在ANSI兼容的数据库中启用NODEFDAC没有任何效果

实际演示

场景一:默认行为(未设置NODEFDAC)

-- gbasedbt用户建库建表 > create database testdac with log; Database created. > create table t1(id int); Table created. -- 查看缺省情况下PUBLIC对新建表的默认访问权限 -- (insert, delete, update, select, index) > select * from systabauth where tabid=100; grantor root grantee public tabid 100 tabauth su-idx---- 1 row(s) retrieved.

创建普通用户并赋予库级connect权限:

> create user tmp_u_001 with password 'GBase_123'; User created. > grant connect to 'tmp_u_001'; Permission granted.

tmp_u_001用户连接后,自动获得对t1表的PUBLIC权限,可以正常操作:

> connect to 'testdac@ol_tl3302_zm0519' user 'tmp_u_001'; ENTER PASSWORD: Disconnected. Connected. > select * from t1; id No rows found. > insert into t1 values(1); 1 row(s) inserted. > update t1 set id=2; 1 row(s) updated.

场景二:设置NODEFDAC=yes后

# 设置环境变量,无需重启数据库 export NODEFDAC=yes
> database testdac; Database selected. > create table t2(id int); Table created. -- 查看权限,t2表没有缺省权限了 > select * from systabauth where tabid>99; grantor root grantee public tabid 100 -- 这里的100是上面的t1表 tabauth su-idx---- 1 row(s) retrieved.

tmp_u_001用户对t2表无任何权限,操作被拒绝:

> connect to 'testdac@ol_tl3302_zm0519' user 'tmp_u_001'; ENTER PASSWORD: Disconnected. Connected. > select * from t2; 272: No SELECT permission for t2. Error in line 1 Near character position 16 > insert into t2 values(1); 275: The Insert privilege is required for this operation. Error in line 1 Near character position 16 > delete from t2; 274: No DELETE permission for t2. Error in line 1 Near character position 14 > update t2 set id=1; 273: No UPDATE permission for t2. Error in line 1 Near character position 11

NODEFDAC环境变量是GBase 8s中一个简单但实用的权限控制开关。对于需要严格数据访问控制的场景,建议在数据库服务器环境中配置 export NODEFDAC=yes ,避免新建表自动向PUBLIC开放权限,从而提升数据库的安全性。运维人员可根据实际业务需求灵活选用。欢迎访问南大通用技术社区,获取更多GBase 8s技术文章与最佳实践!

http://www.jsqmd.com/news/982473/

相关文章:

  • 学而思编程周赛入门初赛组 | 2026年春第11周
  • 别再手动配环境了!MATLAB 2023a 下 CVX 工具箱一键安装与验证全攻略
  • 告别命令行恐惧:用msys2的pacman包管理器搞定Windows下的软件安装与更新
  • GAN训练稳不稳?试试调整这个‘度量开关’:深入理解F-散度在生成模型里的角色
  • 解锁高效设计工作流:Illustrator批量替换脚本ReplaceItems.jsx完整指南
  • msys2 pacman进阶指南:除了-Syu,这些命令让你的开发环境更干净、更高效
  • Graph RAG实战:用知识图谱升级网站智能问答
  • AI Pin无屏幕交互:用光子投射与触觉反馈重塑瞬时信息获取
  • AI安全门禁CGL原理与工程适配指南
  • 从‘自适应’到‘全局’:深入理解PyTorch中AvgPool2d与AdaptiveAvgPool2d的核心差异与选用时机
  • 抖音无水印批量下载器:3步掌握高效自动化下载技巧
  • 在Rockchip RV1126上跑起第一个QT应用:从Windows开发到WSL2交叉编译的完整避坑记录
  • 2026 湖北黄冈青少年心理干预机构测评|专治青少年厌学、沉迷网络、亲子矛盾 - 辛云教育资讯
  • PDF处理不求人:Smallpdf、iLovePDF、Convertio三大神器保姆级横评
  • 告别手动复制粘贴!用UiPath Studio 2024.10读取Excel数据,5分钟搞定自动化第一步
  • 无需代码操作,OpenClaw Windows 可视化部署与模型使用指南
  • 【AI Daily 2026-06-09】Multi-Agent系统正在经历从“堆叠模型数量“到“精细化架构设计“的范式转移
  • 用Verilog HDL手把手教你搭建8-3编码器:从真值表到仿真波形全流程(附避坑点)
  • 5分钟快速上手:终极时间序列分析库完整实战指南
  • GAN训练调参秘籍:如何用F-散度中的海林格距离和卡方距离替代KL散度?
  • 如何完全免费永久保存微信聊天记录:WeChatMsg终极指南
  • pgvector 核心原理:向量索引类型与距离度量深度解析
  • 如何用Python工具完整备份你的QQ空间历史说说:GetQzonehistory终极指南
  • 翡翠品相分级与回收行情 南京本地变现实操手册 - 开心测评
  • 从理论到代码:用CVX工具箱快速上手你的第一个凸优化模型(附完整MATLAB代码)
  • AI 驱动的暗色模式自动生成:色彩对比度约束与感知一致性
  • wxapkg-convertor终极指南:5分钟掌握微信小程序反编译专业技巧
  • 当前主流 RAG 架构全景及轻量级向量库选型深度分析
  • LeetDown终极指南:如何在macOS上轻松降级iPhone 5s/6系列设备
  • 2026择校参考,柳州工学院王牌专业与优势就业专业推荐 - 品牌2026