在 Ubuntu(或 Linux 一般环境) 中使用 IBM Informix 时,“授权”通常指 数据库用户授权(GRANT),而不是操作系统授权。下面按常见场景说明。
Informix 权限建立在 OS 用户 / 组 之上:
informixUSERMAPPING 映射)informix 组# 查看用户
id informix
su - informix
dbaccess
或指定数据库:
dbaccess mydb
GRANT CONNECT TO user1;
GRANT RESOURCE TO user1;
GRANT DBA TO user1;
说明:
CONNECT:可连接数据库RESOURCE:可建表DBA:数据库管理员GRANT SELECT, INSERT, UPDATE
ON table1
TO user1;
GRANT ALL ON table1 TO user1;
GRANT SELECT (col1, col2)
ON table1
TO user1;
CREATE ROLE role_rw;
GRANT SELECT, INSERT ON table1 TO role_rw;
GRANT role_rw TO user1;
GRANT SELECT ON table1 TO PUBLIC;
REVOKE INSERT ON table1 FROM user1;
SELECT * FROM systabauth;
SELECT * FROM sysuserauth;
useradd user1
passwd user1
usermod -aG informix user1
sqlhosts 配置正确编辑 ONCONFIG:
USERMAPPING BASIC
然后:
CREATE USER user1 WITH PASSWORD 'pwd';
GRANT CONNECT TO user1;
| 层级 | 命令 |
|---|---|
| 数据库 | GRANT CONNECT / RESOURCE / DBA |
| 表 | GRANT SELECT / INSERT … |
| 角色 | CREATE ROLE + GRANT |
| 撤销 | REVOKE |
如果你有 具体版本(如 Informix 12 / 14)、连接方式(socket / TCP) 或 报错信息,可以贴出来,我可以给更精确的授权方案。