From: Achim Gratz <Stromeko@NexGo.DE>
To: cygwin@cygwin.com
Subject: Re: sshd default user PATH
Date: Thu, 14 Aug 2014 12:28:00 -0000 [thread overview]
Message-ID: <loom.20140814T134740-103@post.gmane.org> (raw)
In-Reply-To: <20140814112006.GA22411@calimero.vinschen.de>
Corinna Vinschen <corinna-cygwin <at> cygwin.com> writes:
> On other systems sshd sets $PATH to "/usr/bin:/bin:/usr/sbin:/sbin", but
> on Cygwin it doesn't change $PATH and just takes what it got from
> cygrunsrv so as not to break the search path for DLLs not in the system
> directories.
I'm running Cygwin since years with all traces of the Windows path
deliberately deleted and never hit any problem. That would be different if
I tried to mix windows applications in, but I prefer to have wrapper scripts
for those anyway.
> So this is kind of a cygrunsrv problem. It simply appends /bin to
> $PATH, rather than prepending it.
Ah, I was wondering where that comes from since nothing in sshd does it. So
sshd just takes over the environment as set up by cygrunsrv? Then it might
be a lot easier to just tell cygrunsrv what to put into PATH.
> Right, /etc/default/login and, fwiw, any method to change $PATH from the
> default path is disabled on Cygwin deliberately for the reason outlined
> above.
Thanks for confirming, after staring at the configure output for a while
I've finally found that #ifdef in the source...
> It's not that simple. It requires a code change in sshd. However,
> maybe the rigorous handling is not required anymore these days.
May not be necessary anyway.
> Anyway, even if I re-enable /etc/default/login and the standard PATH
> handling in sshd, there's no way to set an arbitrary environment. For
> security reasons, sshd is very selective in the environment variables it
> sets up. From /etc/default/login, it takes *only* PATH and UMASK,
> for instance. Everything else should be set in the shell profiles.
I really only need PATH at the moment. If I bounce commands directly onto
the server without going through a login shell nothing really works as
expected at the moment since Cygwin is last in path. I don't want to add
Cygwin to the Windows path for other reasons and I really don't have control
what else gets added there and in which order.
> So, here's what I'll do:
>
> - Change cygrunsrv to prepend /bin to $PATH rather then appending it.
I would appreciate if it could (optionally) look in some configuration file
(/etc/environment ?) and use PATH as defined there and store the path as set
up in Windows in ORIGINAL_PATH (like done in /etc/profile, where this is
conditional on CYGWIN_NOWINPATH being present).
> - Drop the Cygwin specific ignorance of /etc/default/login from the
> source code and build a new OpenSSH package.
>
> Does that sound ok?
Very much. If the environment can be controlled via cygrunsrv, then the
changes to sshd might not be necessary. I've just tried using "-e
PATH=/bin" in the sshd service startup, but PATH still seems to be
hardcopied from Windows (the setting is ignored if the environment variable
already exists?).
Regards,
Achim.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
next prev parent reply other threads:[~2014-08-14 12:28 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-14 9:57 Achim Gratz
2014-08-14 11:20 ` Corinna Vinschen
2014-08-14 12:17 ` Corinna Vinschen
2014-08-14 12:50 ` Andrey Repin
2014-08-14 12:28 ` Achim Gratz [this message]
2014-08-14 13:01 ` Achim Gratz
2014-08-14 15:19 ` Corinna Vinschen
2014-08-19 9:08 ` Achim Gratz
2014-08-19 10:58 ` Corinna Vinschen
2014-08-19 11:22 ` Corinna Vinschen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=loom.20140814T134740-103@post.gmane.org \
--to=stromeko@nexgo.de \
--cc=cygwin@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).