温馨提示×

linux informix如何设权限

小樊
35
2026-10-05 00:23:00
栏目: 智能运维

在 Linux + IBM Informix 环境下,“设权限”通常涉及 操作系统层权限 和 数据库层权限 两个方面。下面按常见场景说明。


一、Linux 操作系统层权限(与 Informix 相关)

1. Informix 用户和组

Informix 一般使用专用用户和组:

# 查看
id informix
grep informix /etc/group

通常:

  • 用户:informix
  • 组:informix

2. Informix 安装目录权限

Informix 安装目录(如 /opt/informix)应属于 informix:informix:

chown -R informix:informix /opt/informix
chmod -R 750 /opt/informix

3. 数据库空间文件(chunk)权限

chunk 文件必须能被 informix 用户读写:

chown informix:informix /dbs/dbs1
chmod 660 /dbs/dbs1

4. 允许普通用户使用 Informix 客户端

将用户加入 informix 组:

usermod -aG informix username

二、Informix 数据库层权限

1. 连接数据库权限

GRANT CONNECT TO user1;

2. 建表权限

GRANT RESOURCE TO user1;

3. DBA 权限(最高)

GRANT DBA TO user1;

4. 表级权限

GRANT SELECT, INSERT, UPDATE, DELETE
ON tab1
TO user1;

-- 收回
REVOKE SELECT ON tab1 FROM user1;

5. 列级权限

GRANT UPDATE (col1, col2) ON tab1 TO user1;

6. 授予其他用户(WITH GRANT OPTION)

GRANT SELECT ON tab1 TO user1 WITH GRANT OPTION;

三、使用角色(Role)管理权限(推荐)

CREATE ROLE role_read;
GRANT CONNECT TO role_read;
GRANT SELECT ON tab1 TO role_read;

GRANT role_read TO user1;

四、查看已有权限

-- 查看用户权限
SELECT * FROM sysusers;

-- 查看表权限
SELECT * FROM systabauth WHERE tabid = 
(SELECT tabid FROM systables WHERE tabname='tab1');

五、常见安全建议

  • 不用 root 运行 Informix
  • chunk 文件权限 不要 666 / 777
  • 普通用户只给最小权限(CONNECT + 必要表权限)
  • 使用角色而不是直接授权给用户

如果你能说明具体需求(例如:
✅ 给某个 Linux 用户连数据库
✅ 限制某表只读
✅ 多用户共享 Informix
✅ 客户端连接权限)
我可以给你更精确的命令示例。

0 踩