温馨提示×

ubuntu informix权限怎么设置

小樊
35
2025-12-23 00:14:44
栏目: 智能运维

Ubuntu 上 Informix 权限设置指南

一 系统层权限设置

  • 创建专用的系统用户与组(示例使用 informix:informix,UID/GID 为 3000/3000):
    • 命令:sudo groupadd -g 3000 informix;sudo useradd -u 3000 -g 3000 -d /opt/IBM/informix -m informix
  • 目录与实例文件权限:
    • 安装目录:sudo chown -R informix:informix /opt/IBM/informix;sudo chmod -R 755 /opt/IBM/informix
    • 数据目录(示例 /dbs):sudo mkdir -p /dbs;sudo chown informix:informix /dbs;sudo chmod 755 /dbs
    • 设备/数据文件(如 rootdbs、datadbs):先 touch 创建空文件,再 sudo chown informix:informix 文件名;sudo chmod 660 文件名
  • 临时目录要求:
    • 若使用 /opt/IBM/informix/tmp,需 sudo chmod 770 /opt/IBM/informix/tmp,避免“too secure”报错
  • 安全基线:
    • 避免对实例目录设置 0777 这类含“公共写”的权限,防止 oninit 报“permissions 0777 include public write access”
  • 说明:
    • 以上属主属组与权限为 Informix 在 Linux/Unix 上的通用实践,Ubuntu 同样适用;目录与文件路径可按实际环境调整。

二 数据库层权限设置

  • 以数据库管理员(如 informix 用户)登录数据库环境后,使用 SQL 进行授权与回收(示例):
    • 创建用户:CREATE USER appuser WITH PASSWORD ‘******’;
    • 授予数据库权限:GRANT CONNECT TO appuser; GRANT RESOURCE TO appuser;
    • 授予 DBA:GRANT DBA TO appuser;(谨慎授予)
    • 授予/回收表级权限:GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.mytab TO appuser; 或 REVOKE …
    • 授予/回收视图/序列/存储过程权限:使用相应的 GRANT/REVOKE 语法
    • 将用户加入角色并授权:CREATE ROLE report_role; GRANT SELECT ON mydb.rpt_view TO report_role; GRANT report_role TO appuser;
  • 要点:
    • 遵循最小权限原则;应用账号通常仅需对业务表授予所需 DML,DBA 账号单独管理
    • 生产环境建议通过角色管理权限,便于审计与回收

三 常见权限报错与修复

  • oninit -ivy 报 “permissions 0777 include public write access”
    • 修复:将实例目录及子目录权限收敛为 755(或更严格的 750),并确保不含“其他写”位;如:sudo chmod -R 755 /opt/IBM/informix
  • “directory …/tmp is too secure (has mode 755, needs 770)”
    • 修复:sudo chmod 770 /opt/IBM/informix/tmp
  • “path is not trusted”
    • 修复:检查并修正目录属主属组为 informix:informix,权限为 755(或更严格),确保实例目录受信
  • “Fatal error in shared memory creation / number of file descriptors is limited”
    • 修复:在启动前提升文件描述符限制,例如 ulimit -n 65535;并在 /etc/security/limits.conf 增加:* soft nofile 65535;* hard nofile 65535,然后重新登录/重启
  • 说明:
    • 上述报错及修复方式在 Informix on Linux 环境中具有代表性,按提示收敛权限与放宽必要的受限资源即可恢复。

四 日常运维与最小权限清单

  • 原则:
    • 系统层:实例目录与数据文件仅 informix 用户(及必要组)可读写执行;临时目录 770;严禁对实例目录使用 0777
    • 数据库层:按业务最小权限授予;通过角色统一管理;定期审计与回收不必要权限
  • 快速检查清单:
    • ls -ld /opt/IBM/informix /opt/IBM/informix/tmp /dbs;ls -l /dbs/rootdbs /dbs/datadbs*
    • 确认环境变量由 informix 用户正确加载(如 INFORMIXDIR、INFORMIXSERVER、ONCONFIG、PATH、LD_LIBRARY_PATH
    • 以应用账号连接数据库,验证仅具备预期权限(仅查询/更新指定表等)

0