Subject: Re: bug#16532: Test Fail: "tests/chown/separator"

From: Pádraig Brady <[email-masked]>
Date: Fri, 24 Jan 2014 01:09:22 +0000

On 01/23/2014 11:41 PM, Assaf Gordon wrote:
> On 01/23/2014 06:20 PM, Bernhard Voelker wrote:
>> On 01/23/2014 07:41 PM, Assaf Gordon wrote:
>>> $ strace ../src/chown 34574:users . 2>&1 | grep -A 5 -B 5 chown
>>
>>> fchownat(AT_FDCWD, ".", 34574, 100, 0)  = -1 EPERM (Operation not permitted)
>>
>>> ++ id -g
>>> + id_g=1000
>>
>>> + chown 34574:users .
>>> chown: changing ownership of '.': Operation not permitted
>>> + fail=1
>>
>> Ooops, something very strange is going on on your system:
>> chown resolves the group 'users' to gid 100 while 'id -g'
>> says 1000.
>>
>> Can you find out why?
>> Are you using some strange Samba/Kerberos authentication against
>> an Active Directory or similar? (I've seen such issues with that
>> combination,)
>>
> 
> Thanks for the quick reply - this is a strange old server (not my doing...).
> Indeed it uses an external authentication, and has conflicting local and global groups named "users".
> 
> ==
> $ grep users /etc/group
> users:x:100:
> $ getent group | grep ^users
> users:x:100:
> users:x:1000:
> $ id -G
> 1000 1001 3432
> ==
> 
> So I guess this is not a bug, and can be closed.
> I'll just ignore this failure on this system.

It is a false failure though so would be worth avoiding.
It's important to have robust tests we and builders can rely on.

Would something along the following be possible?

test $(getent group $group | wc -l) != 1 || skip_ "multiple ids for group $group: $(getent group $group)"

welcome back!
Pádraig.