From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 46962 invoked by alias); 31 Jan 2016 20:24:45 -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 46931 invoked by uid 89); 31 Jan 2016 20:24:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=Groups, H*Ad:D*gmx.de, determining, now X-HELO: mout.gmx.net Received: from mout.gmx.net (HELO mout.gmx.net) (212.227.17.22) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Sun, 31 Jan 2016 20:24:43 +0000 Received: from [192.168.178.25] ([85.180.137.250]) by mail.gmx.com (mrgmx101) with ESMTPSA (Nemesis) id 0Lu3J4-1ZxxY03VQs-011PzB; Sun, 31 Jan 2016 21:24:38 +0100 Subject: Re: chmod failed: Invalid argument To: cygwin@cygwin.com References: <20160128144429.GC27369@calimero.vinschen.de> <20160128172256.GB18626@calimero.vinschen.de> <20160128204021.GA7055@calimero.vinschen.de> From: Rainer Blome X-Enigmail-Draft-Status: N1110 Message-ID: <56AE6D83.9070201@gmx.de> Date: Sun, 31 Jan 2016 22:45:00 -0000 MIME-Version: 1.0 In-Reply-To: <20160128204021.GA7055@calimero.vinschen.de> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-UI-Out-Filterresults: notjunk:1;V01:K0:9Eff4Ir9Lio=:QOU1fknTUlgByuaM6ePDU6 oULn6+nfvXXtXD+fevEp4KAx71mErUrHD7bcUyUw/WZRR9yonS/jPCWJz7MAt0DRCCFN3JrTi vZjrRq8OuLhVF2MgZKcDjedDWYL8xtHO2qloPSpYNZD9YYBtTfeTfOaR3XGv/ehJoj7KhfJ+R kCROHk20NoI3DUmFyfHrBQlUuHVQmUJn9V11e4lYLlmiKTBs0HU+cZw8QQ06S9hejKRrDOQmz t4nQS3y89Zb0hgIEKmuMMj1gXRZ6khYy75xxeKcdrJczq5hVsxwUDVri+SnOwyjdXx3JEG5zM lMv/az2X6ktydwC7yeDcz5b0Dfqeo61cNO2iUua7F+UdNP0mhUriCW+JHgiF9qYE2U7rnoFkT tkldJXBfUYl0w78XaXA2eSow2snbCRAuDHGpeePJ0bNV3bw8cJb/NCOXNih/qC2dp8IzgtWfx ccjh4fUNGG5033AuDbjUg/Fq17U3jpDArvkCGmWAJwkJxiBpbK+jSudrO6Yoj3oAApT7RgPrl dPXgZSMwZeA29cGkuZFS77oX276K7CyOpDATPv86hM8ZcqPMszLhhOBx8F/Y1M9+5r8YkGSTW B3yCoUxpNHk67bYMSrf2d6lDvmhQgDScxe3PHK8aNm0tFE4PsFWj3tRrsqw7duWVvAuc/PgKW e39ipISXwF6GjYL7oNRvChwi+WTXPBQTR2l0WIMBIo5YNdFNC80t/euWTKz1mWFB3UolyCBvq dEVbrUOrze/lAQx/7O13aX981Yi6o6SMPsn1Gnn27UeUU3jZ+k4PGspTlBOYbwYtf5e0o9JrD AmX0BZQ X-IsSubscribed: yes X-SW-Source: 2016-01/txt/msg00495.txt.bz2 On 28.01.2016 21:40, Corinna Vinschen wrote: > On Jan 28 19:43, Rainer Blome wrote: >>> Corinna Vinschen wrote 2016-01-28 18:22: >>>> On Jan 28 17:06, Rainer Blome wrote: >>>>> Corinna Vinschen wrote 2016-01-28 15-44: And then, what about >>>>> this unknwon group with gid 213? What does >>>>> >>>>> $ getent group 213 >>>>> >>>>> print? Something's weird here... >>>> >>>> getent group 213; echo $? # getent prints nothing, returns 2 >>>> >>> On a hunch, do you have old /etc/passwd and /etc/group files by >>> any chance? Does moving them out of /etc (don't delete them for >>> now!), exiting from Cygwin and starting a new shell somehow fix >>> things for you? How do the files look like? >> >> Define "old"! ;-) Yes, I do. There is no `/etc/group`, but >> `/etc/passwd` defines the group ID of my user as 213 (the real ID >> is a bit different, to be honest, but I do not think that >> matters.) The real group ID is 513, by the way. On a Cygwin 2.3.1 on a different machine, `/etc/passwd` also has 513 in the group column of all users. Yet, when I ask for `id`, I get something like this (translated): uid=197609(username) gid=197121(None) \ Groups=197121(None),545(Users),... > Ouch, that may be the reason. I have to check that but your passwd > and group files are > > 1) Not required anymore, see > https://cygwin.com/cygwin-ug-net/ntsec.htm, and Well, I do not use Active Directory, and I try to maintain a stable home directory across new machines, drives or Windows reinstalls, so I specify this directory in `/etc/passwd`. Since it is small, I see no harm in using this method. On my Cygwin 2.4.1, to get things to run the way I want them, I renamed `/etc/passwd.renamed` back to `/etc/passwd`, and replaced the old group id by the ID of group "None", 197121. In a new terminal, things now run as expected, SSH finds its .ssh directory and `chmod` etc. work the way that they should. > 2) *iff* they are there, there's good reason to have them in a good > working shape. No doubt. So what kind of maintenance do these files need? Should I have known that they do? >> The `git clone repo:bar` then fails because my `~/.ssh` is >> apparently no longer found (and I can only log in via SSH key). >> This is a bit surprising, because in the new terminal, `$HOME` and >> `~/.` are still set the way I specified it in the old `/etc/passwd` >> (now with extension `.renamed`). So some programs apparently use >> one method of determining the home directory, and others use a >> different method. I will look into that tomorrow. > > Yes, indeed. Ssh ignores $HOME and it does so as long as it exists. > Ssh uses the pw_dir field from your passwd entry and that in turn is > determined by /etc/passwd if it exists, or by /etc/nsswitch.conf. See > the extensive documentation starting at > https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch > The default homedir is /home/. There are a few knobs to > play with to change this setting, see > https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch-home In the User-specific Windows environment variables, `$HOME` was set, so that most programs still saw that. To simplify, I removed that setting, hoping I did not use it in some Windows batch file. :-) >> If, after this "breakthrough", there is still value in looking >> further into the ACLs, I am willing to do that. > it might not be required anymore to generate the strace at all. Then I'll skip that for now. Maybe a bogus group setting in `/etc/passwd` is enough to reproduce the issue. >> Thanks for the help so far. > > Thanks for *your* help. I expect there are still a few problems in > that code since not even a multi-month testphase finds all problems. I am curious what change triggered the issue, can you point me to a commit or change-log entry? Rainer -- 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