sshrc not working when using restricted shells on HP-UX

Darren Tucker dtucker at
Thu Mar 2 00:02:20 EST 2006

Darren Tucker wrote:
> Tob_Sch at wrote:
> [about restricted shells]
>> Here's the error message during starting the connection:
>> sh: /bin/sh: The operation is not allowed in a restricted shell.
> I would interpret that as one of the commands in the sshrc failing,
> rather than parsing of the file itself failing.   What's in sshrc?  Does
> putting "set -x" at the top of sshrc provide any enlightenment?

Looking at the code, it does:
	f = popen(_PATH_BSHELL " " _PATH_SSH_SYSTEM_RC, "w");

which is effectively running:

	/bin/sh /usr/local/etc/sshrc

I suspect the difference is that the platforms that work use /bin/sh for
popen() but HP-UX uses the login shell.

Hmm, SuSv3 implies that popen should use sh, but doesn't come right out
and say it:

"The environment of the executed command shall be as if a child process
were created within the popen() call using the fork() function, and the
child invoked the sh utility using the call:

execl(shell path, "sh", "-c", command, (char *)0);"

The Linux man page says unequivocally that it uses /bin/sh.  I can't
conveniently check HP-UX right now.

Darren Tucker (dtucker at
GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4  37C9 C982 80C7 8FF4 FA69
    Good judgement comes with experience. Unfortunately, the experience
usually comes from bad judgement.

More information about the openssh-unix-dev mailing list