Thanks for the tips everybody, but I haven't had too much luck yet. I'm no C guru, so I have no reasonable explanation of why it doesn't read /etc/secure/shadow... If someone could look into this, and tell me what I have to change, I would _REALLY_ appreciate it. But what about the pam_limits problem? Does anyone know what the cause of that may be? I recompiled pam with debugging enabled, but it didn't make me any smarter. These are the messages I get when logging in: [pam_env.c:pam_getenvlist(360)] called. [pam_env.c:_pam_dump_env(28)] Listing environment of pamh=0x8104ea8 [pam_env.c:_pam_dump_env(29)] pamh->env = 0x8104f78 [pam_env.c:_pam_dump_env(31)] environment entries used = 1 [of 10 allocated] >0 [ (nil)]:[(null)] *NOTE* the last item should be (nil) [pam_env.c:_copy_env(324)] now get some memory for dump [pam_env.c:_copy_env(328)] dump = 0x810ef50 admin:~$ And this turns up in the system log: Mar 24 14:03:26 localhost sshd[4068]: Accepted password for admin from 127.0.0.1 port 1036 Mar 24 14:03:26 localhost sshd(pam_unix)[4068]: session opened for user admin by (uid=0) Mar 24 14:03:26 localhost pam_limits[4068]: cannot initialize And the section in my pam.conf file for ssh looks like this: sshd auth required pam_unix.so shadow nodelay sshd auth required pam_nologin.so sshd account required pam_unix.so sshd password required pam_unix.so shadow nullok use_authtok sshd session required pam_unix.so sshd session required pam_limits.so I wish the pam_limits error messages could be a little more verbose, but unfortunately...:( Next, I'll try strace'ing the sshd, and see if that sheds some light on things. Regards -- Joachim Blaabjerg alias StyX styx@mailbox.as -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCM/CS/CC/IT d?>d s:>s++:++ a? C++>C++++$ UL++++ P+>P+++++ L++>L+++++$ E--- W++>$ N++ w--- PS PE Y+ PGP>PGP+++ t+ 5 X+ R+ tv+ b+ D-- G++ e->e+++++ h-->h++ y? ------END GEEK CODE BLOCK------