delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2014/08/28/06:01:32

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; q=dns; s=
default; b=e7y7X7jheun9Pj4SXnxWaJiDFXieuKr5nlxNnoBM2EXMEk6RUpj7A
g1psh/56LwVkXasH3BP6pdbUU9sRuG3ynVzXy0SYojBDlNDbbIM8GG0NrNoM04UD
lzvgenGoXv3kh0Tpi5m8emdPK3ZIFTHplDxDOP04Z08kG5t01/EbZA=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; s=default;
bh=6bj+TScpPks17XVuzONYuD2n3Nw=; b=DeAoQUiatTBpbFptCAjx12WYzcAY
niY56o+kCOoabgzyvR/f359LLeSMte8Fn0aaeAwmfsPlIRKBFGrCx99hOlJ8n0Fx
2XkgDFE9j61IHYSg/1HavmHjIooTAnBni7aeUrOLOFYOKWrjaz5oMkW72zJjiJcg
AqH5tB8NNZPvwWQ=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-5.9 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2
X-HELO: calimero.vinschen.de
Date: Thu, 28 Aug 2014 12:01:12 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: (call-process ...) hangs in emacs
Message-ID: <20140828100112.GQ20700@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <53E39BAD DOT 3010004 AT redhat DOT com> <53E3CB46 DOT 1020909 AT cornell DOT edu> <53E3F2AE DOT 7030608 AT redhat DOT com> <53E4D01B DOT 9010005 AT cornell DOT edu> <53F1F154 DOT 1020702 AT cornell DOT edu> <53FB87DC DOT 2050908 AT cornell DOT edu> <87wq9v9j2y DOT fsf AT Rainer DOT invalid> <53FD0662 DOT 5050208 AT cornell DOT edu> <20140827084245 DOT GD20700 AT calimero DOT vinschen DOT de> <17910052714 DOT 20140828010203 AT yandex DOT ru>
MIME-Version: 1.0
In-Reply-To: <17910052714.20140828010203@yandex.ru>
User-Agent: Mutt/1.5.23 (2014-03-12)

--8WA4ILJSyYAmUzbY
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Aug 28 01:02, Andrey Repin wrote:
> Greetings, Corinna Vinschen!
>=20
> > faccessat/access/eaccess don't try to be intelligent by themselves.
> > Rather they just call a Windows function if the filesystem is mounted
> > with "acl" mount flags:
>=20
> > - Fetch file's security descriptor
> > - Create process impersonation token.
> > - Call NtAccessCheck
> > - If NtAccessCheck returns "not allowed", check for backup/restore
> >   privileges via NtPrivilegeCheck.
>=20
> > In "noacl" mode or on filesystems not supporting ACLs, access uses the
> > st_mode flags from stat() to figure out the permissions.
>=20
> I'm not very much into Cygwin internals, so beg pardon if I got something
> wrong here... But reading this makes my internal sanity checker go into r=
ed
> alarm state.
>=20
> Here's why:
>=20
> When Cygwin mount a filesystem with 'acl' flag set, it mangles current AC=
L's
> set on the files to produce something that can be understood as basic POS=
IX
> 'ugly'...erm, 'ugo' permissions. Behavior least desirable in many cases.
> You say, it will then use native functions to determine access rights... =
No
> wonder they will work, since you already mangled them to suit your needs.
>=20
> When Cygwin mount a filesystem with 'noacl' flag, thus let OS use true AC=
L's
> (a feature Windows implemented surprisingly fast, while *NIX was only
> proposing it... for far too long without any result in sight), it is then
> followed by some magic and guesswork on Cygwin's end to find out access
> rights.
>=20
> If you ask me, something isn't quite right here. Or something is missing.

It's what "acl" means on Cygwin.  "acl" means that Windowsd ACLs are used
and permissions are handled and converted to and from POSIX permissions.
"noacl" means, Cygwin ignores all ACLs and fakes ownership and POSIX
permissions only based only on filetype and DOS R/O attribute, as it has
to on filesystems not supporting ACLs, like FAT/FAT32.


Corinna

--=20
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--8WA4ILJSyYAmUzbY
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJT/v3oAAoJEPU2Bp2uRE+gOJwP/i8KGU2RCsHE69ETRE4C9ir3
c3LwVBHW6DUVQ+1TqQp0De0qBM+U8dZ9j2kMcfmtNHXvam0Y5sdK5pZoXn1Kvxbn
Xo7mLelfc8Ik1NpmL2y5KERozlFOZRllcfgMRr6ZiYzneABSqfr6pOPh9qRm6X+L
hui/So3v3eRVECKiZRUEMCbPty0AlZljRLix25IRgv3reQ4Tw9ZAEjnvWZmUe7L9
AKqf2kau1quH5INZrc5hXgwBRC86j17SJ5TVKwXeuio+EjMEWg+X6lNAh3M/+eC0
RIxtMvJ9HXLUmq7Q6BAH0mYHajeGo4L5Fb61dj0jvfoLjLtqHwlAV1dsR9Fsk6vn
ws5GBRtUj9PulejKqlOd2SOmsguqiXA9HdEfx/+o9mDIV5R6xXnDkjLp6dibIcyK
ZI9DXWQEvX6qnFmtxU0HqUcE1IxnA8D/bXiXBZU/z0fmOdoc1dGjJJlVlMwgDJer
j8DOcUEn+hl7zXfoac3n4hCxY49N8m7sUY5Jnr6XJ4ZpfnYJkc2bh4RhLAOOtWfK
+Hw6FDFeZ1jdegQJiIVJJLsOhZbKjdOM/jj4HuCfL+pAMa2fYHrl+CINg9n0UqGB
vYg+Z5rz10t7dHgp9oNAMoACSVwiZTchbgNDtL+ugwoywIp9/weMfRM9z6RevTqk
0CNn+3p9hjsPl4Qltp7M
=81Xu
-----END PGP SIGNATURE-----

--8WA4ILJSyYAmUzbY--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019