在 Ubuntu 上设置 Informix 权限,通常涉及 操作系统用户/组权限、Informix 实例权限 和 数据库对象权限 三个层面。下面按常见场景说明。
Informix 以某个 Linux 用户运行(通常为 informix)。
sudo groupadd informix
sudo useradd -g informix -m informix
sudo passwd informix
假设 Informix 安装在 /opt/ibm/informix:
sudo chown -R informix:informix /opt/ibm/informix
sudo chmod -R 755 /opt/ibm/informix
sudo chown -R informix:informix /var/lib/informix
sudo chmod 700 /var/lib/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
Informix 使用 操作系统用户 作为数据库用户(除非使用专用用户映射)。
sudo useradd dbuser1
sudo passwd dbuser1
sudo usermod -aG informix dbuser1
dbaccess
或
isql -U informix
CREATE DATABASE testdb;
GRANT CONNECT TO dbuser1;
GRANT RESOURCE TO dbuser1;
GRANT DBA TO dbuser1;
权限说明:
GRANT SELECT, INSERT, UPDATE, DELETE
ON tablename
TO dbuser1;
GRANT EXECUTE ON procedure_name TO dbuser1;
撤销权限:
REVOKE SELECT ON tablename FROM dbuser1;
检查:
informix 组INFORMIXSERVER 是否正确sqlhosts 配置是否正确SELECT * FROM systabauth WHERE tabid = ...
确认授权是否存在。
$INFORMIXDIR/tmp/ol_informix.log
如果你能说明:
我可以给你更精确的操作步骤。