From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 49546 invoked by alias); 23 Jul 2015 08:57:57 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 49538 invoked by uid 89); 23 Jul 2015 08:57:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.1 required=5.0 tests=AWL,BAYES_50,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 X-HELO: calimero.vinschen.de Received: from aquarius.hirmke.de (HELO calimero.vinschen.de) (217.91.18.234) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 23 Jul 2015 08:57:55 +0000 Received: by calimero.vinschen.de (Postfix, from userid 500) id 9A94FA80968; Thu, 23 Jul 2015 10:57:52 +0200 (CEST) Date: Thu, 23 Jul 2015 08:57:00 -0000 From: Corinna Vinschen To: cygwin@cygwin.com Subject: Re: db_home setting in nsswitch.conf is ignored. Message-ID: <20150723085752.GA29506@calimero.vinschen.de> Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <1568721912.554752.1437593133260.JavaMail.yahoo@mail.yahoo.com> <143607434.20150723005320@yandex.ru> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="k+w/mQv8wyuph6w0" Content-Disposition: inline In-Reply-To: <143607434.20150723005320@yandex.ru> User-Agent: Mutt/1.5.23 (2014-03-12) X-SW-Source: 2015-07/txt/msg00355.txt.bz2 --k+w/mQv8wyuph6w0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-length: 3976 On Jul 23 00:53, Andrey Repin wrote: > Greetings, Shaun Martin! >=20 > >> Is HOME set in the Windows environment already? If so, this > >> might interact with the setting in /etc/nsswitch.conf, which *only* > >> works for entries taken from the passwd DB (getpwnam, getpwuid calls). > >>=20 > >> How do you start mintty? It should be started with a single parameter, > >> a dash, e.g.: > >>=20 > >> C:\cygwin64\bin\mintty.exe - >=20 > > Yes, HOME is set in the Windows environment and I am not able to change= it. >=20 > How so?... I think admins can disallow changing your default user environment via policy. But that only means you can't change the env for the *first* process in a process tree. See below. > > With the "SET" command in a Windows command prompt I can see: >=20 > > HOME=3DSERVER/USERS5:USERS\SHAUN >=20 > That's suspicious. So many symbols not allowed to be there. I agree. For a start, this behaviour of Cygwin has not chaged since at least 2002: When being started from a non-Cygwin process (e.g. cmd, explorer), Cygwin checks if the environment variable $HOME is already set. If so, it uses it verbatim. Otherwise, it generates a value for $HOME from the user's passwd DB entry or, if that fails for some reason, falls back to generate a POSIX path from $HOMEDIR/$HOMEDRIVE. The above value of $HOME is really a problem here. Not only that it exists and doesn't actually reflect your HOME, it's also not starting with a slash and thus is evaluated as a *relative* path. Therefore your resulting HOME will depend on the current directory you're starting the Cygwin process from. The fact that your actual home directory in the passwd DB is set differently doesn't matter anymore then. I.e., the output of $ getent passwd will very likely show something different as pw_dir entry. On a second look into your OP, I'm also a bit puzzled about the settings you made in /etc/nsswitch.conf. No offense meant, but it seem you just used some arbitrary settings without actually reading what they mean and how to configure them (e.g. cygwin, desc). Is there a problem understanding https://cygwin.com/cygwin-ug-net/ntsec.html? I'm always grateful for hints how to improve the docs, even more so for patches to the docs. > > When you say it only works for entries taken from passwd DB, does that > > mean I need to create a "/etc/passwd" file in order to change the > > "db_home" directory with nsswitch.conf? >=20 > No, she said that it only works if Cygwin has to retrieve these records f= rom > DB. If the information is already available, it will be used as is. Right. > > I'm starting mintty with the shortcut generated by the installer: >=20 > > C:\Users\shaun\Apps\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico - >=20 > System properties - Advanced - Environment. > Remove the HOME variable. It shouldn't be there for Windows to begin with. > If that wouldn't work, talk to your domain admin, explain the situation a= nd > ask to resolve the conflict. > If Cygwin is a necessary part of your workflow, there's a Cygwin-specific > schema available which can be installed in domain to help facilitate prov= ision > of the necessary Cygwin-specific information. Alternatively (if your admin is a BOFH), you can always drop HOME from your powershell env before starting a Cygwin process. Even more alternatively, what Cygwin *could* do in an upcoming version is to check the incoming $HOME for validity, i.e., is it an absolute POSIX path and does it resolve to an existing directory. If not, ignore it and try the entry from the passwd DB. However, I'm rather reluctant to do that. For one your case is a first. Such a change could also have surprising side effects. Maybe just checking for a leading slash would work in most environments, but still... Corinna --=20 Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat --k+w/mQv8wyuph6w0 Content-Type: application/pgp-signature Content-length: 819 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJVsKyQAAoJEPU2Bp2uRE+gmmsP/RagPDlK/pKcbYn48w4qRxaJ ugUi2+2U7R01Yl2B1XPWoQvsrswTd58rpY40CUg6XosZyD/5F6DXklXbNlU4S4+K CKv59iigWX5Fxd8OTAWS3TNO4ICgTbim81XsDsbUhI28rrf71xpCyjnqgYrIVi85 /LX4k5xrgrMmR5r4dTvKEfxtrab/42RlHCz335s99CfAg3qQL+4PkQs29aoXbb7Y z+4z+OlCPkWca6jft4NJ00yhdHBMK0hGGOIjVL9U0MjR3XYGAHASt3HWxdrrEvjc qA+QQEQU4pHj/a3on8rKcLm7g8taG5OLilP/d3z4cPRhh9kPib+h/jQ9Yqhczy9R Ls33DCHKgmOa8i35dVnl9TXiUhGtYcqp6rLEcSaKz7aGB4dUeY9zJBTMvncSNr8t o4E3p1P0JzG5Fl6gcCw+LhJuKyuytlSf8Ts+L5hwA7HZRczqWWKsSpKJ4FWPY6hC vnljRgNDjm0oDQR7wjl0OBN2eD4z7WVFUKR+9b2NP55rlS1MzlQGIkbbY/m83f7t oUOJ+I1MbeJG3afD3fyTVbcWAiOzZKj4C49G0ifsFGW8Tm7NXNxPXF1eZ5k+2v7R oorWZc6dmA87MdpkBq0Rb4VbYlDx5o7lPI428uqm3e6t8QlS7jVixY8Vofty86wa wKNXyQFuqqiYk06bm4Fb =lQ5e -----END PGP SIGNATURE----- --k+w/mQv8wyuph6w0--