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

Rick Troth rmt at casita.net
Fri Jul 10 17:21:28 EDT 2015


Thanks for sharing a fun challenge.
Methinks it's an environment problem. SSHD and LOGIN set the environment
differently. So maybe something in (or lacking from) the TTY environment
is choking Perl.

There is /etc/environment which on my SUSE system is commented to be
handled by pam_env. SSHD may or may not drive PAM. Check
/etc/ssh/sshd_config for related settings.

Would be good to catch that error message before it vanishes.
I suggest wrapping the Perl script in a shell script with an explicit 
/bin/sleep 5  (or whatever time you want) before the end.



On 07/10/2015 05:06 PM, William Yang wrote:
> 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.colug.net/pipermail/colug-432/attachments/20150710/90010e2e/attachment.html 


More information about the colug-432 mailing list