Yeah, something sounds out of whack here. pam_shells should work correctly when your login shell IS in /etc/shells, and fail when it's not. Is there something in /etc/shells that's throwing it off, like a funny character or something? Is /etc/shells world-readable? (It is on my RHEL 5.5 clone (SL 5.5).) Maybe try putting the pam_shells.so line right after the pam_listfile.so line, as RHEL does, before the includes.
BTW, you did mean /etc/pam.d/vsftpd, not /etc/vsftpd.conf, where you removed the pam_shells.so line, right?
On 22/03/2011 1:16 PM, Sean Walberg wrote:
From shells(5)
NAME shells - pathnames of valid login shells
DESCRIPTION /etc/shells is a text file which contains the full pathnames of valid login shells. This file is consulted by chsh(1) and available to be queried by other programs.
Be aware that there are programs which consult this file to find
out if a user is a normal user. E.g.: ftp daemons traditionally disallow access to users with shells not included in this file.
On Tue, Mar 22, 2011 at 1:14 PM, Kevin McGregor <kevin.a.mcgregor@gmail.com mailto:kevin.a.mcgregor@gmail.com> wrote:
I already had put in local_enable=YES write_enable=YES Then on a whim I took out auth required pam_shells.so from /etc/vsftpd.conf, and then it started working. I guess it didn't like that /bin/bash was set as my shell in /etc/passwd and also in /etc/shells. Or something.