温馨提示×

ubuntu如何设置informix权限

小樊
40
2026-09-14 10:57:22
栏目: 智能运维

在 Ubuntu 上设置 Informix 权限,通常涉及 操作系统用户/组权限Informix 实例权限数据库对象权限 三个层面。下面按常见场景说明。


一、操作系统层面权限(必须)

Informix 以某个 Linux 用户运行(通常为 informix)。

1. 创建 Informix 用户和组

sudo groupadd informix
sudo useradd -g informix -m informix
sudo passwd informix

2. 设置 Informix 安装目录权限

假设 Informix 安装在 /opt/ibm/informix

sudo chown -R informix:informix /opt/ibm/informix
sudo chmod -R 755 /opt/ibm/informix

3. 设置数据目录权限

sudo chown -R informix:informix /var/lib/informix
sudo chmod 700 /var/lib/informix

二、Informix 实例权限(ONCONFIG & sqlhosts)

1. 环境变量(informix 用户)

切换到 informix 用户:

su - informix

编辑 ~/.bashrc~/.profile

export INFORMIXDIR=/opt/ibm/informix
export INFORMIXSERVER=ol_informix
export ONCONFIG=onconfig.ol_informix
export PATH=$INFORMIXDIR/bin:$PATH

三、数据库用户与权限(DBA 操作)

Informix 使用 操作系统用户 作为数据库用户(除非使用专用用户映射)。

1. 创建数据库用户(OS 用户)

sudo useradd dbuser1
sudo passwd dbuser1
sudo usermod -aG informix dbuser1

2. 登录数据库(DBA)

dbaccess

isql -U informix

3. 授权数据库

CREATE DATABASE testdb;

GRANT CONNECT TO dbuser1;
GRANT RESOURCE TO dbuser1;
GRANT DBA TO dbuser1;

权限说明:

  • CONNECT:可连接数据库
  • RESOURCE:可建表
  • DBA:管理员权限

四、表 / 视图 / 存储过程权限

GRANT SELECT, INSERT, UPDATE, DELETE
ON tablename
TO dbuser1;

GRANT EXECUTE ON procedure_name TO dbuser1;

撤销权限:

REVOKE SELECT ON tablename FROM dbuser1;

五、常见权限问题排查

1. 无法连接数据库

检查:

  • 用户是否在 informix
  • INFORMIXSERVER 是否正确
  • sqlhosts 配置是否正确

2. 权限不足

SELECT * FROM systabauth WHERE tabid = ...

确认授权是否存在。

3. 日志位置

$INFORMIXDIR/tmp/ol_informix.log

六、最小安全配置建议

  • 不使用 root 运行 Informix
  • 普通用户只给 CONNECT / RESOURCE
  • DBA 权限严格控制
  • 数据目录权限 700

如果你能说明:

  • Informix 版本
  • Ubuntu 版本
  • 连接权限 / 表权限 / 安装权限 问题

我可以给你更精确的操作步骤。

0