1) pam_securetty has been written to use ttyent.h which reads entries for /etc/ttys file, while linux has ttys in /etc/securettys. Either an alternative to ttyent needs to be found or check the file manually. -- FIXED 2) when calling passwd, pam_sm_chauthtok() returns Unknown Flags. For some reason, PAM_PRELIM_CHECK and PAM_UPDATE_AUTHTOK are not set when pam_sm_chauthtok is gets called -- FIXED 3) login environment is not setup after successful login. no idea why -- FIXED 4) recheck makesalt()/crypt() function to ensure it creates md5 hashes of user passwords