10.2-BETA1: pw(8) does not support "pw useradd name -u 0"

Baptiste Daroussin bapt at freebsd.org
Mon Jul 13 09:10:12 UTC 2015


On Mon, Jul 13, 2015 at 10:36:28AM +0200, Baptiste Daroussin wrote:
> On Mon, Jul 13, 2015 at 04:57:32PM +1000, Jan Mikkelsen wrote:
> > Hi,
> > 
> > In our system build scripts we have this command:
> > 
> > /usr/sbin/pw -V $d useradd toor -u 0 -g 0 -d /root -s /bin/sh -c "Bourne-again Superuser" -g wheel -o
> > 
> > After 10.2-BETA1, the toor account is being added with UID 1001 instead of UID 0. This looks like a problem with line 754 in pw_user.c, which has this test:
> > 
> >         /*
> >          * Check the given uid, if any
> >          */
> >         if (id > 0) {
> >                 uid = (uid_t) id;
> > 
> >                 if ((pwd = GETPWUID(uid)) != NULL && conf.checkduplicate)
> >                         errx(EX_DATAERR, "uid `%u' has already been allocated", pwd->pw_uid);
> >         } else {
> >                 struct bitmap   bm;
> > 
> > 
> > The (id > 0) test should probably be (id >= 0) to allow “-u 0” to be passed on the command line.
> > 
> > This change is from r285092 by bapt at . Was this change in behaviour intentional?
> 
> Nope, I'll fix asap
> 
> Thanks for reporting
> 
> Best regards,
> Bapt

Fixed in head, will be merged soon in stable, I also added a regression test
about this.

Please note that you do add -g 0 and -g wheel in your command line, this is
buggy, only one should be specified.

Best regards,
bapt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20150713/30bb10ee/attachment.bin>


More information about the freebsd-stable mailing list