Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Jul 2015 11:10:06 +0200
From:      Baptiste Daroussin <bapt@freebsd.org>
To:        Jan Mikkelsen <janm@transactionware.com>
Cc:        FreeBSD Stable Mailing List <freebsd-stable@freebsd.org>
Subject:   Re: 10.2-BETA1: pw(8) does not support "pw useradd name -u 0"
Message-ID:  <20150713091006.GB37597@ivaldir.etoilebsd.net>
In-Reply-To: <20150713083628.GA37597@ivaldir.etoilebsd.net>
References:  <00BBEBAC-D7E2-4312-995B-93F7F0EDDD42@transactionware.com> <20150713083628.GA37597@ivaldir.etoilebsd.net>

next in thread | previous in thread | raw e-mail | index | archive | help

--cmJC7u66zC7hs+87
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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,
> >=20
> > In our system build scripts we have this command:
> >=20
> > /usr/sbin/pw -V $d useradd toor -u 0 -g 0 -d /root -s /bin/sh -c "Bourn=
e-again Superuser" -g wheel -o
> >=20
> > 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:
> >=20
> >         /*
> >          * Check the given uid, if any
> >          */
> >         if (id > 0) {
> >                 uid =3D (uid_t) id;
> >=20
> >                 if ((pwd =3D GETPWUID(uid)) !=3D NULL && conf.checkdupl=
icate)
> >                         errx(EX_DATAERR, "uid `%u' has already been all=
ocated", pwd->pw_uid);
> >         } else {
> >                 struct bitmap   bm;
> >=20
> >=20
> > The (id > 0) test should probably be (id >=3D 0) to allow =E2=80=9C-u 0=
=E2=80=9D to be passed on the command line.
> >=20
> > This change is from r285092 by bapt@. Was this change in behaviour inte=
ntional?
>=20
> Nope, I'll fix asap
>=20
> Thanks for reporting
>=20
> 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

--cmJC7u66zC7hs+87
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlWjgG4ACgkQ8kTtMUmk6ExNyACgklnoPm+5qkmd76pKfOmV2Ilk
TrQAoIZrnDBlsat4/q+nmkow1hcPVs2N
=PS3S
-----END PGP SIGNATURE-----

--cmJC7u66zC7hs+87--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150713091006.GB37597>