RedHat and "set user" Tcl command

Posted by grahams on 2012-10-31 10:05
Question: 

We have Redhat 5 and 6, and use pam.ldap. We have noticed that ActiveTcl "set user [id user]" works with RedHat 5, but does not work with RedHat 6.

Answer: 

This results from a change in Red Hat 6 to the C library getpwuid(uid).

ActiveTcl is still built on an older kernel for backwards compatibility, and a program using getpwuid(uid) from an older kernel will not run correctly on Red Hat 6.

The problem can be worked around using:
set user [exec logname]

instead of

set user [id user]