Informix在Linux上的权限设置指南
导读:Linux 上 Informix 权限设置指南 一 系统前置准备与目录权限 创建专用系统账号与组,仅用于运行引擎与维护: groupadd informix useradd -g informix -d /opt/informix -m...
Linux 上 Informix 权限设置指南
一 系统前置准备与目录权限
- 创建专用系统账号与组,仅用于运行引擎与维护:
- groupadd informix
- useradd -g informix -d /opt/informix -m informix
- passwd informix
- 安装目录与关键子目录的所有权与权限(最小化授权):
- chown -R informix:informix /opt/informix
- chmod -R 755 /opt/informix
- chmod 770 /opt/informix/tmp(引擎需要在该目录创建临时文件)
- 初始化数据设备文件(rootdbs 等)权限必须为 660,否则初始化/启动会失败:
- mkdir -p /opt/informix/data
- touch /opt/informix/data/rootdbs
- chmod 660 /opt/informix/data/rootdbs
- chown informix:informix /opt/informix/data/rootdbs
- 环境变量建议写入 ~informix/.bash_profile(或对应的 shell 配置):
- export INFORMIXDIR=/opt/informix
- export ONCONFIG=onconfig.< 实例名>
- export INFORMIXSERVER=< 实例名>
- export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts
- export PATH=$INFORMIXDIR/bin:$PATH
- 使配置生效:source ~/.bash_profile
- 启动/停止引擎(仅以 informix 用户执行):
- 启动:oninit -vy
- 停止:onmode -ky 以上步骤覆盖了目录所有权、关键权限位与初始化文件权限,能避免常见的“目录不受信任”“tmp 过严”“rootdbs 权限错误”等启动失败。
二 数据库对象与账户权限
- 以数据库管理员账户(如 informix)连接数据库后,使用标准 SQL 完成授权:
- 创建用户:CREATE USER username IDENTIFIED BY ‘password’;
- 授予数据库级权限:GRANT ALL PRIVILEGES ON DATABASE dbname TO username;
- 授予表级权限:GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE schemaname.tablename TO username;
- 角色与授权:CREATE ROLE rolename; GRANT ALL PRIVILEGES ON DATABASE dbname TO rolename; GRANT rolename TO username;
- 撤销权限:REVOKE ALL PRIVILEGES ON DATABASE dbname FROM username; 或按表/列撤销。
- 密码管理:使用 onspassword 工具(如 onspassword -u username -p newpass)进行口令变更。
- 建议采用“最小权限 + 角色”模型,将常用权限打包为角色后授予用户,便于审计与回收。
三 系统资源与文件描述符限制
- 为避免“文件描述符不足”“共享内存创建失败”等,提升 informix 用户的资源上限:
- 编辑 /etc/security/limits.conf:
- informix soft nofile 65536
- informix hard nofile 65536
- informix soft nproc 65536
- informix hard nproc 65536
- 确保 PAM 启用 limits:在 /etc/pam.d/system-auth 与(如存在)/etc/pam.d/password-auth 中加入 session required pam_limits.so
- 验证与生效:
- 切换到 informix:su - informix
- 执行:ulimit -n(应返回 65536 或更高)
- 重启引擎或系统以持久生效
- 编辑 /etc/security/limits.conf:
- 如仍遇到共享内存/资源问题,需结合实例配置(如共享内存相关参数)与系统内核参数一并核查。
四 常见权限报错与修复对照
| 报错或现象 | 根因 | 修复要点 |
|---|---|---|
| 启动报 “permissions 0777 include public write access” | 目录/文件被设置为全局可写,存在安全风险 | 将相关目录改为 755,关键文件/设备文件为 660,仅属主与属组可写 |
| “/opt/informix (path is not trusted)” | 目录权限/属性导致引擎不信任 | 确认 /opt/informix 属主为 informix:informix,权限 755,必要时检查上级目录信任链 |
| “directory /opt/informix/tmp is too secure (has mode 755, needs 770)” | tmp 目录权限不足 | chmod 770 /opt/informix/tmp |
| “Fatal error in shared memory creation” 或 “The number of file descriptors is limited by your shell” | 文件描述符/共享内存不足 | 在 limits.conf 提升 nofile/nproc,PAM 启用 limits,ulimit -n 验证,再重启引擎 |
| 初始化/创建 dbspace 失败 | rootdbs 等设备文件权限不对 | 确保 rootdbs 权限为 660,属主 informix:informix |
| 以上报错与修复措施覆盖了安装与初始化阶段的高频权限问题,可据此快速定位并解决。 |
五 安全加固要点
- 账户与登录安全:
- 禁用不必要的超级账户,删除无用账号;强化口令策略(长度≥10,包含大小写字母、数字与特殊字符);必要时用 chattr +i 保护 /etc/passwd、/etc/shadow、/etc/group、/etc/gshadow;设置 TMOUT 自动注销;限制 su 使用范围。
- 网络安全:
- 通过 firewalld/iptables 仅开放必要端口(如 9088/9089 等),关闭未使用端口与服务。
- 数据加密与访问控制:
- 启用 TDE(透明数据加密) 保护数据/日志/备份在存储层加密;按需使用列级加密;结合 RBAC/LBAC 实现细粒度访问控制。
- 日志与审计:
- 启用并定期检查数据库与系统日志;使用 auditd 等工具审计关键文件与目录的访问与变更。 以上措施能显著提升 Informix 在 Linux 上的整体安全态势。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Informix在Linux上的权限设置指南
本文地址: https://pptw.com/jishu/767160.html
