[colug-432] Okay, I've got to be doing something stupid... any thoughts on what?

William Yang wyang at gcfn.net
Fri Jul 10 17:06:13 EDT 2015


I'm using a Centos 7 box -- noting that I'm usually an Ubuntu guy nowadays.

To solve a specific problem, I've written a PERL script that I want to be
the login shell of a user (the script manages several configuration
functions and its expected use case is on one of the consoles).  The script
does all functions I expect it to.  The first line of the script is '#!
/usr/bin/perl' and it's chmod 0755.

It works if I ssh onto the box as the user:  ssh menu at host starts as
expected.  However, if I try to log in on tty1 or anything on the console,
it displays stuff from login, then the console blanks and returns to a
login prompt.  There's some kind of error message that looks like it may
say permission denied, but the screen refreshes and clears too quickly for
me to really understand it.  I tried for 90 minutes to get it to happen in
a way I could capture it, without success.

When I modified the script to 'printf("testing\n"); sleep(10);' at the
beginning, I never saw the output, which makes me think the script isn't
running.

Setting rsyslog to log *.debug to a file doesn't show me anything that
jumps out at me.

I checked the pam configs and don't see anything that should restrict it.

While I could address this by setting the shell to something like
/bin/rbash and writing the perl invocation into .bash_profile, that's not
what I really want to do.  I'm confused as to why it's failing to invoke on
the console, but not via ssh.  I used to use scripts as login shells all
the time.

Anyone have any thoughts on what's going on?

	-Bill
-- 
William Yang
wyang at gcfn.net


More information about the colug-432 mailing list