Informix Error -951: User username is not known on the database server.
Cause and resolution
User username is not known on the database server.
The database server that you tried to access does not accept either your user ID, the login name that is specified for the desired server host in your ~/.netrc file, or the user name that is specified in the USER clause of a CONNECT statement. If you are explicitly specifying your user name in the ~/.netrc file or in a CONNECT statement, check that the name is correct. If you do not have a valid user ID on the server computer, see your system administrator. This message appears with Version 6.0 and later.
-951 User is not known on remote host.
This statement refers to a database on another computer system, but the other system does not accept your account name. You must have a valid login identity on any computer system you access. See your network administrator about getting a login ID. This message appears prior to Version 6.0.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-951 shares its message text with -950 but describes a different, more general situation —
per the official guidance (this specific version applies from Version 6.0 onward), the remote
server doesn't accept the connecting user ID, whether that came from the OS user ID, a ~/.netrc
login name, or a USER clause on CONNECT.
- The OS user ID not recognized by the remote server, per the official guidance.
- The login name in
~/.netrcfor the target host incorrect, per the official guidance. - The
USERclause on aCONNECTstatement specifying an incorrect user name, per the official guidance. - No valid user ID on the server computer at all, per the official guidance — a genuine account-provisioning gap rather than a typo.
- A PAM misconfiguration on the server, in practice — if the credentials are independently
confirmed correct (the account exists, the password works via a normal OS login) and -951
still fires on every connection attempt through
dbaccess/CONNECT, suspect the server's PAM stack rather than the credentials themselves. Informix routes remote authentication through PAM, and a broken or misconfigured PAM service file for the Informix service name can produce this exact "user not known" message even though the OS-level account and password are fine.
Solutions / Resolution
- If explicitly specifying the user name (in
~/.netrcor aCONNECTstatement), check that it's correct, per the official guidance. - If there's no valid user ID on the server computer, see your system administrator, per the official guidance — this requires account provisioning, not a configuration fix.
Examples
Checking ~/.netrc
$ cat ~/.netrc
machine remote_host login myusername password ...
Confirm the login value matches an actual valid account on remote_host.
Diagnostic Checks
- Check
~/.netrc's login name for the target host, and anyUSERclause used inCONNECT. - Confirm a valid account actually exists on the target server for this user.
- If the username/password are independently verified correct and -951 still fires on every
attempt, check the server's PAM configuration (e.g.
/etc/pam.d/informixor whatever service name the connection uses) before continuing to suspect the credentials themselves. - If the database server is running in a container, confirm the user's password hash in
the container's
/etc/shadowactually matches the host OS's — PAM authenticates against whatever user database is visible inside the container, and a container image with a stale or separately-managed/etc/shadowwill reject a password that's genuinely correct on the host, with no indication from the error itself that the two have drifted apart.
Related Errors / Related Topics
- -950 — "User username is not known on the database server." Shares this exact message
text, but describes a PAM-specific
sysuser:sysauthauthorization gap rather than this more general user-ID mismatch. - -952 — "User's password is not correct for the database server." A related authentication error, about the password rather than the username.
Shares -950's exact message text but is the more general (Version 6.0+) user-ID mismatch case —
check ~/.netrc and any CONNECT ... USER clause first.