root@r4275 [/nim] su – roy
Cannot set process environment.
The problem was not only with this one account so we assumed it has to do something with the enviroment files. As recommended we checked permissions on the files in /etc/ and /etc/security and then on / as well but these seemed fine. The mystery was revealed after debugging the command with truss:
root@r4275 [/home] truss su – roy
...
execve("/usr/bin/ksh", 0xF05A45A4, 0x201065F8) Err#13 EACCES
kopen("/usr/lib/nls/msg/en_US/su.cat", O_RDONLY) Err#13 EACCES
Cannot set process environmentkwrite(2, " C a n n o t s e t p".., 30) = 30
...
The directories /usr/bin and /usr/lib had mode 666 instead of 755. Satanic attack, isn't it?