From: Frans Klaver Date: Fri, 09 Dec 2011 21:35:41 GMT Subject: Re: [PATCH 1/2] run-command: Add checks after execvp fails with EACCES Message-ID: In-Reply-To: <7vaa71hd5l.fsf@alter.siamese.dyndns.org> On Fri, 09 Dec 2011 18:23:50 +0100, Junio C Hamano wrote: > "Frans Klaver" writes: > >>> Wouldn't access(2) with R_OK|X_OK give you exactly what you want >>> without >>> this much trouble? >> >> I just had a good look through the man page of access(2), and I think >> it depends. access works for the real uid, which is what I attempted >> to implement in the above check as well. However, do we actually need >> to use the real uid or do we need the set uid (geteuid(2))? > > Does it matter? We do not use seteuid or setegid ourselves and we do not > expect to be installed as owned by root with u+s bit set. That's what I thought, but needed to know for sure that this was the case. > access(2) checks with real uid exactly because it would not make a > difference to normal user level programs _and_ it makes it easier for a > suid programs to check with the real identity, and our use case falls > into the former, no? > Certainly looks like. Thanks. I'll reroll somewhere next week. Frans