Re: fsgqa group membership?

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



On Sun, Jan 14, 2024 at 04:42:41PM +0100, Richard Weinberger wrote:
> Hi!
> 
> After migrating to a new test environment, I observed that generic/193 failed.
> Initially, I assumed it was a UBIFS regression, but it appears that all other file systems have also been affected.
> 
> generic/193       - output mismatch (see /root/xfstests-dev/results//generic/193.out.bad)
>     --- tests/generic/193.out   2024-01-14 08:55:20.114082471 +0000
>     +++ /root/xfstests-dev/results//generic/193.out.bad 2024-01-14 14:30:51.598725128 +0000
>     @@ -45,10 +45,10 @@
>      check that suid/sgid bits are cleared after successful truncate...
>      with no exec perm
>      before: -rwSr-Sr--
>     -after:  -rw-r-Sr--
>     +after:  -rw-r--r--

Hi Richard,

Thanks for reporting this issue. Not sure why you get this failure by checking
this output only.

>      with user exec perm
>      before: -rwsr-Sr--
>     ...
>     (Run 'diff -u /root/xfstests-dev/tests/generic/193.out /root/xfstests-dev/results//generic/193.out.bad'  to see the entire diff)
> 
> It turned out that the test failed because the user "fsgqa" did not have the "fsgqa" group assigned.
> After rectifying this, the test passed successfully.

OK, so you've found out why it's failed :)

> 
> But it is nowhere stated that this has to be that way.
> 
> README says only:
> 6. (optional) Create fsgqa test users and groups:
> 
>    $ sudo useradd -m fsgqa
>    $ sudo useradd 123456-fsgqa
>    $ sudo useradd fsgqa2
>    $ sudo groupadd fsgqa
> 
> Just in case, users fsgqa and fsgqa2 want the groups fsgqa/fsgqa2 as their primary groups
> to have all tests work as expected?

Actually above steps aren't exact enough. It depends on a default behavior
of useradd command -- "By default, a group will also be created for the
new user" (from `man useradd`)

And according to the manual:

       -g, --gid GROUP
           The name or the number of the user's primary group. The group name must exist. A group number must refer to an already existing group.

           If not specified, the behavior of useradd will depend on the USERGROUPS_ENAB variable in /etc/login.defs. If this variable is set to yes (or -U/--user-group is specified on
           the command line), a group will be created for the user, with the same name as her loginname. If the variable is set to no (or -N/--no-user-group is specified on the command
           line), useradd will set the primary group of the new user to the value specified by the GROUP variable in /etc/default/useradd, or 1000 by default.

You said "After migrating to a new test environment", I don't know what's
your new test env. Maybe your USERGROUPS_ENAB isn't set to yes by default,
or your useradd has an alias "useradd -N", or any other reasons.

Anyway if you hope to make sure each fsgqa users is assigned to their
own group, how about:

$ groupadd fsgqa
$ useradd -m -g fsgqa fsgqa
$ groupadd fsgqa2
$ useradd -g fsgqa2 fsgqa2
$ groupadd 123456-fsgqa
$ useradd -g 123456-fsgqa 123456-fsgqa

Or
$ useradd -U fsgqa
$ useradd -U fsgqa2
$ useradd -U 123456-fsgqa

Or other better ideas. Does that help? If so, we can think about changing
the doc description.

Thanks,
Zorro

> 
> Thanks,
> //richard
> 





[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux