[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#149722: libc6: ldd: bogus check for read permission



# ctl is in bcc
reassign 149722 bash
thanks

On Tue, Jun 11, 2002 at 09:50:55PM -0400, Aaron M. Ucko wrote:
> Package: libc6
> Version: 2.2.5-6
> Severity: minor
> File: /usr/bin/ldd
> 
> ldd insists on bailing out if its argument fails "test -r", which in
> turn may not always yield a terribly meaningful value on file systems
> whose semantics are not completely Unix-like.  (In particular, AFS
> ignores the group and other bits when checking permissions -- so I may
> still be able to read a mode 700 file owned by somebody else if I'm on
> the right ACL.)  Perhaps this is really a bug in test (i.e., bash),
> but I don't see any good reason for ldd to be checking access in the
> first place.

  /usr/bin/test -r basically performs:

  access(..., R_OK)

  so the problem is definitely not in the libc, but rather in AFS _or_
in bash.

  further search proves that I'm right: bash test builtin implements
access its own way (wtf?!) rather than using access. bash has to be
complied with -DAFS to use access(2), which it's obviously not under
debian:

$ cat a.sh
#! /bin/bash

test -r /etc/passwd
$ strace bash a.sh 2>&1 | grep passwd
stat("/etc/passwd", {st_mode=S_IFREG|0644, st_size=1710, ...}) = 0


  reassigning.
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org

Attachment: pgpxE8yXqvEZ0.pgp
Description: PGP signature


Reply to: