Commit Graph

228 Commits

Author SHA1 Message Date
Eitan Adler
91d073903e Use strdup instead of malloc + strcpy
Submitted by:	db
Approved by:	cperciva
MFC after:	2 weeks
2012-12-05 13:56:49 +00:00
Eitan Adler
6c3c59886c Avoid overflow of file buffer
Submitted by:	db
Approved by:	cperciva
MFC after:	2 weeks
2012-12-05 13:56:46 +00:00
Eitan Adler
61fd27bb3b Remove useless check for NULL prior to free.
Approved by:	cperciva
MFC after:	2 weeks
2012-12-05 13:56:43 +00:00
Baptiste Daroussin
4efe6c741d In NIS mode first chmod(2) the temporary file and is succeed then rename(2) 2012-11-20 14:05:46 +00:00
Baptiste Daroussin
7a43850530 Correctly set the password file mode after renaming in NIS mode 2012-11-20 10:59:41 +00:00
Baptiste Daroussin
fb2db03194 Teach pw(8) about how to use pw/gr API to reduce code duplication
MFC after:	2 months
2012-10-30 08:00:53 +00:00
Baptiste Daroussin
e7e5ec8773 Do not treat empty name as an uid 0
Reported by:	Robert Bonomi <bonomi@mail.r-bonomi.com>
2012-10-01 17:00:33 +00:00
Baptiste Daroussin
e6e9c14bdf Remove useless atoi(3), previous strspn(3) makes sure that a_name->val is a
number.
This also allow pw user show to work as expected.

PR:		bin/172112
Submitted by:	"Ilya A. Arkhipov" <rum1cro@yandex.ru>
MFC after:	1 month
2012-10-01 16:42:07 +00:00
Kevin Lo
ba670ce023 Make sure that each va_start has one and only one matching va_end,
especially in error cases.
2012-09-28 07:51:30 +00:00
Kevin Lo
29dcf726d2 Handle NULL return from crypt(3). Mostly from DragonFly 2012-02-22 06:27:20 +00:00
Kevin Lo
76a387fbba readlink len-1 2012-02-14 10:17:03 +00:00
Ulrich Spörlein
3df5ecac8c Spelling fixes for usr.sbin/ 2011-12-30 10:58:14 +00:00
Eitan Adler
19e1bf2997 - document the -l option to usermod
PR:		docs/161588
Submitted by:	"Luchesar V. ILIEV" <luchesar.iliev@gmail.com>
Approved by:	gjb
MFC after:	1 week
2011-12-22 03:36:54 +00:00
Dimitry Andric
5893527d84 In usr.sbin/pw/pw_user.c, use the correct printf length modifier for a
ptrdiff_t.

MFC after:	1 week
2011-12-17 23:46:47 +00:00
Xin LI
cfc3f46787 Backout r223115 which potentially caused a POLA violation, by restoring
historic behavior (create the default base directory in pw.conf) before
I came up with a better fix for this.

Requested by:	nwhitehorn
Approved by:	re (kib)
2011-07-31 03:00:00 +00:00
Xin LI
6a635ff4b4 Don't attempt to create the base directory when -d is specified.
MFC after:	1 month
2011-06-15 19:09:58 +00:00
Jung-uk Kim
644af48df6 Stop hard-coding default directory mode as 0777. 2011-03-08 20:13:29 +00:00
Jung-uk Kim
110df1daa0 Do not let pw.conf(5) or -M option affect creation of basehome, e.g., /home.
When the basehome does not exist, it creates all intermediate directories as
required, which is logically equivalent to mkdir(1) with -m and -p options.
However, it modifies all intermediate directories, not just the final home
directory unlike mkdir.  This problem was introduced in two revisions, i.e.,
r1.59 (SVN r167919) and r1.60 (SVN r168044).

MFC after:	1 month
2011-02-04 19:49:02 +00:00
Ulrich Spörlein
0d9deed52c mdoc: drop redundant .Pp and .LP calls
They have no effect when coming in pairs, or before .Bl/.Bd
2010-10-08 12:40:16 +00:00
Jung-uk Kim
85a3024411 Revert the unrelated patch crept in the previous commit. 2010-10-05 18:47:51 +00:00
Jung-uk Kim
e116381d02 Prefer pmap_unmapbios() over pmap_unmapdev(). The binary does not change
after this because pmap_unmapbios() is a macro for pmap_unmapdev() on amd64.
2010-10-05 18:38:23 +00:00
Ed Schouten
71ccf09269 The last big commit: let usr.sbin/ use WARNS=6 by default. 2010-01-02 11:07:44 +00:00
Ed Schouten
41d6f23028 Make pw(8) build without <utmp.h>.
The size of the username record in utmp files should not influence the
maximum username length. Right now ut_user/ut_name is big enough, so in
this case it's dead code anyway.
2009-12-06 01:27:28 +00:00
Andrey A. Chernov
f70f5c2077 Use arc4random_uniform() to avoid "modulo bias"
Remove pw_getrand() unneded now: arc4random_uniform() is stronger then
pw_getrand()'s MD5 tricks (inactive) and its active version, mixing
arc4random() bytes in one, not make things better at all.
2008-08-16 15:41:03 +00:00
John Baldwin
c746f22dea Before updating the password database, the pw(8) utility first performs a
sanity check by invoking "pwd_mkdb -C".  However, if this failed it
silently returned success.  Fix this so it fails the update operation
instead.

MFC after:	1 week
2008-07-17 13:47:59 +00:00
Antoine Brodin
e8e8c216d0 - Increase the size of the salt in pw(8) from 8 to 32 (same as in pam_unix(8)).
This makes blowfish password hashes look normal when set using
pw(8)/adduser(8). [1]
- Make it possible to have a '/' in the salt.

PR:		121146 [1]
Submitted by:	Jaakko Heinonen [1]
Approved by:	rwatson (mentor)
MFC after:	1 month
2008-05-27 19:04:31 +00:00
Sean Farley
bc991a6d5f Add the groupmod '-d' option to pw to allow the deletion of existing users
from a group without the need to perform the same operation by replacing
the existing list via the '-M' option.  The '-M' option requires someone
to fetch the existing members with pw, deleting the undesired members from
the list and sending the altered list back to pw.

Approved by:	wes (mentor)
MFC after:	5 days
2008-02-23 01:25:22 +00:00
Sean Farley
72d1b828b3 style(9) (verified no object changes)
Approved by:	wes (mentor)
MFC after:	5 days
2008-02-23 01:17:42 +00:00
Mike Makonnen
40ab104eaa Clarify in what formats the grouplist for the '-G' switch may be accepted.
Submitted by: Eygene Ryabinkin <rea-fbsd@codelabs.ru>
2008-01-25 15:54:14 +00:00
Lukas Ertl
1b692a8c44 Do the right thing with symlinks in the skeleton directory.
PR:     bin/63659
2007-03-30 13:18:52 +00:00
Lukas Ertl
e57f8ca5cd Accept passwords which contain whitespace.
PR:     bin/53434
2007-03-30 12:57:25 +00:00
Lukas Ertl
85204142eb Add home directory creation mode to pw.conf(5) and be a bit
more specific about the effect of the current umask on -M.
2007-03-30 11:23:10 +00:00
Lukas Ertl
1dd634b049 Add -M argument to usage() output. 2007-03-30 10:02:47 +00:00
Lukas Ertl
eebbeceec9 Introduce the new option -M to allow to set the permissions of
the user's newly created home directory.  If omitted, it's derived
from the current umask.

PR:      bin/16880, bin/83253 (partially), bin/104248
MFC in:  1 month
2007-03-26 23:29:20 +00:00
Tom Rhodes
fd59f59ae3 Better mdoc(7). Bump doc date.
Kicked by:	ru
2006-10-09 19:01:02 +00:00
Tom Rhodes
31e224dd37 Note the naming convention of files in share/skel and explain the "dot"
prefix is removed.

PR:	103828
2006-10-09 17:57:40 +00:00
Maxim Konovalov
04cfd91b6a o Fix groupadd getopt line and make 'pw groupadd -o' work.
PR:		bin/100684
Submitted by:	Devon H. O'Dell
MFC after:	3 weeks
2006-09-18 14:00:39 +00:00
Pawel Jakub Dawidek
49630c2335 Change /home symbolic link, so it will point to usr/home instead of /usr/home.
Previous symlink was confusing:

	# cd /jails/virtual_system_1/home
	# realpath .
	/usr/home

...and slower.

OK'ed by:	rwatson, phk
2005-07-31 08:25:53 +00:00
Stefan Farfeleder
18b51f792f Remove unused variables. 2005-04-09 14:59:10 +00:00
Stefan Farfeleder
3ce1d6bb59 The variable `arglist' has internal linkage in pw.c, don't declare it as extern
here.
2005-02-10 09:05:27 +00:00
Ruslan Ermilov
59a3c79da6 Sort sections. 2005-01-18 20:02:45 +00:00
Ruslan Ermilov
a866e17077 Added the EXIT STATUS section where appropriate. 2005-01-17 07:44:44 +00:00
Stefan Farfeleder
2475565a7a Don't rely on NULL being a pointer, add a cast before passing it to a variadic
function.
2004-10-03 14:40:27 +00:00
Ruslan Ermilov
07bfccd71e Mechanically kill hard sentence breaks. 2004-07-02 23:13:00 +00:00
Robert Drehmel
b8938b667e Use strlcpy(3) to replace the idiomatic
strncpy(d, s, l);
  d[l - 1] = '\0';

statements.
2004-06-17 14:07:16 +00:00
Robert Drehmel
1040317076 Fix a bug which occurred when the home directory given by the
-d option was equal to the one already saved and which caused
the pw utility to avoid updating values passed by other options
processed before the -d option in the code path.

Spotted by: Richard Caley <rjc@interactive.co.uk>
2004-06-17 10:29:12 +00:00
Ken Smith
fc1007e186 Shift file locking to source file instead of temp file. This fixes
data buffering issue that corrupts files if two pw(8)'s run at the
same time as well as changing pw(8) so it uses the same locking
mechanism as PAM, vipw(8), pwd_mkdb(8), etc.

PR:		bin/23501
Submitted by:	Alex Kapranoff <alex (at) kapran (dot) bitmcnit (dot) bryansk (dot) su>
Approved by:	rwatson (mentor)
MFC after:	5 days
2004-03-08 20:31:37 +00:00
Ian Dowse
87d6b5caf6 Add a -H <fd>' option that is like -h <fd>', but accepts an already
encrypted password on the specified file descriptor.

PR:		bin/22033
MFC after:	2 weeks
2004-01-11 18:28:08 +00:00
Ruslan Ermilov
fe08efe680 mdoc(7): Use the new feature of the .In macro. 2003-09-08 19:57:22 +00:00
Philippe Charnier
860f0df364 The .Xr utility. Spelling. Put NIS under .Tn 2003-06-08 14:28:38 +00:00
Tom Rhodes
0603fbc3ae Add information about the log file.
PR:		35575
Submitted by:	"Simon L. Nielsen" <simon@nitro.dk> (original version)
2003-05-08 00:28:36 +00:00
David E. O'Brien
052238b16c style.Makefile(5) 2003-04-04 17:49:21 +00:00
Andrey A. Chernov
c6c9094f0c There is no sense to use random random() and arc4random() in the same program.
Switch to arc4random() completely.
2003-02-11 02:17:11 +00:00
Garance A Drosehn
84a0950aea Changes so the 'pw' command will allow '$' as the last character in a userid
or group name (mainly for the benefit of samba).  This pretty much rewrites
he pw_checkname() routine, but should work exactly the same except for the
above change, and that error messages are somewhat more informative.

PR:		28733 46890
Inspired by:	example patch written by Terry Lambert
Reviewed by:	no objections on freebsd-arch and freebsd-current
MFC plans:	no plans, but will do if people want it in stable.
2003-01-28 01:21:57 +00:00
Max Khon
41a1582349 Do not expose password if it is empty and PWF_STANDARD format is requested
MFC after:	1 week
2003-01-23 19:51:48 +00:00
Ruslan Ermilov
8d5d039f80 Uniformly refer to a file system as "file system".
Approved by:	re
2002-12-12 17:26:04 +00:00
Philippe Charnier
490d5836b5 The .Nm utility 2002-07-14 14:47:15 +00:00
Alfred Perlstein
379e7b73a6 de-__P() 2002-07-11 19:07:35 +00:00
Dima Dorfman
d5a3b1ed7d Lists follow a colon, not a semicolon. 2002-06-30 04:51:04 +00:00
SADA Kenji
f587582238 `pw useradd' could be used with -w without -D option.
PR:		docs/39770
Submitted by:	sada
Approved by:	dd
2002-06-26 05:09:12 +00:00
David Malone
9836536581 Print a long with %ld not %d. (We possibly should be using %j here, but
that can be fixed when the many other warnings here are being fixed.)

PR:		39741
Submitted by:	Dan Lukes <dan@obluda.cz>
MFC after:	1 week
2002-06-24 11:33:17 +00:00
Dima Dorfman
466c257c1f In the words of the submitter:
This patch explains -F for usershow and groupshow.  Because "groupmod
 ... -F" doesn't do anything, the patch also drops that from groupmod's
 command line args.

PR:		35955
Submitted by:	Mike DeGraw-Bertsch <mbertsch@radioactivedata.org>
2002-04-05 08:39:31 +00:00
Dima Dorfman
4731d0764a Document the -7 option for usershow.
PR:		36735
Submitted by:	Mike DeGraw-Bertsch <mbertsch@radioactivedata.org>
2002-04-05 08:31:17 +00:00
Giorgos Keramidas
16b4ad5200 Merge a duplicate description of the -L option into the first one.
PR:		docs/34782
MFC after:	1 week
2002-03-08 00:36:36 +00:00
Jacques Vidrine
2b0dfba578 Use correct mode for temporary file.
Reported by:	ryan beasley <ryanb@goddamnbastard.org>
2001-12-20 16:03:04 +00:00
Andrey A. Chernov
b84320f22e Change rmskey() to rmopie() - we don't have skey anymore 2001-10-19 10:45:14 +00:00
Dima Dorfman
2be196f14c For new users, create the home directory before sending the welcome
mail, if configured to do so.  Some sites have setups where the user's
mail is delivered to their home directory, so sending mail before is
exists didn't work.

PR:		29892
2001-09-03 14:12:42 +00:00
Dima Dorfman
912e378232 Unbreak group operations by reverting previous delta which removed the
assignment of `l' in `gr_update' to the return value of snprintf.  It
claimed to have fixed the case where snprintf returned -1--in fact, it
broke the entire routine.  Not setting `l' here causes fileupdate() to
invariably fail with EINVAL because it does its own check to assert
that the parameter isn't -1.
2001-08-30 06:32:17 +00:00
Joerg Wunsch
5c6a35107b Properly initialize the random number generator in pw_getpass().
Right now, the automatically generated passwords have been rather
predictable. :-(

MFC after:	1 day
2001-08-21 13:33:20 +00:00
Joerg Wunsch
19c6903f17 Fix a typo in a variable name that made pw(8) coredump when using
USE_MD5RAND.

MFC after:	2 days
2001-08-21 10:29:01 +00:00
Brian Somers
2313781df2 Handle snprintf() returning < 0 (not just -1)
MFC after:	2 weeks
2001-08-20 15:09:34 +00:00
Brian Somers
36c1612b5e Handle snprintf() returning -1.
MFC after:	2 weeks
2001-08-20 13:24:39 +00:00
David E. O'Brien
90e655ea4e Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.
2001-07-20 06:20:32 +00:00
David E. O'Brien
ac24b049cc Remove GCC'isms in CFLAGS. 2001-07-20 04:23:13 +00:00
Dima Dorfman
f247324df7 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
Dima Dorfman
70d51341bf mdoc(7) police: remove extraneous .Pp before and/or after .Sh. 2001-07-09 09:54:33 +00:00
Brian Somers
7bc6d0158f Fix the type of the NULL arg to execl()
Idea from: Theo de Raadt <deraadt@openbsd.org>
2001-07-09 09:24:06 +00:00
Ruslan Ermilov
ce9c7e7f4b Don't override the default BINMODE.
Submitted by:	bde
2001-07-05 15:25:05 +00:00
Kris Kennaway
cab0fb4e48 Fix a harmless format string bogon and mark a function as __printflike().
There is still one instance of non-constant format string use inside that
function, but it's hard to fix.

MFC after:	1 week
2001-07-05 08:01:15 +00:00
Dima Dorfman
2694efd413 Include missing header files which define functions for which gcc has
builtints (e.g., exit, strcmp).
2001-06-24 20:25:23 +00:00
Dima Dorfman
1ab562901c CND has been unused for two years, and RND has been unused for five
years; remove them from CFLAGS.

PR:		23712
Submitted by:	Volker Stolz <stolz@i2.informatik.rwth-aachen.de>
2001-06-19 00:39:29 +00:00
Ruslan Ermilov
345e52e742 - Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:42:20 +00:00
Andrey A. Chernov
b01e74b72e Use %c for expire/change dates 2001-03-21 13:46:09 +00:00
Ruslan Ermilov
08657612d8 mdoc(7) police: simplify bogus ``.Ql Fl'' constructs. 2001-03-16 14:11:41 +00:00
Dima Dorfman
ed6fd55a59 Document the lock and unlock commands. This fixes a segmentation fault.
PR:		25187
Approved by:	nik
2001-03-14 03:24:30 +00:00
Dima Dorfman
e468afb48d Document the lock and unlock commands.
PR:		25187
Approved by:	nik
2001-03-14 03:22:28 +00:00
Kris Kennaway
27540537e8 Switch from using rand() or random() to a stronger, more appropriate PRNG
(random() or arc4random())

Reviewed by:	bde
2001-03-05 02:15:38 +00:00
Ruslan Ermilov
610a5778c5 mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:44:04 +00:00
Ruslan Ermilov
1bfea903ed Prepare for mdoc(7)NG. 2001-01-16 09:39:23 +00:00
Peter Wemm
e311d7d06c Fix typo: s/memberhip/membership/
Submitted by:  Peter Avalos <pavalos@theshell.com>
2001-01-02 04:01:59 +00:00
Ben Smithurst
d0d78e1303 Convert to use the <sys/queue.h> macros rather than fiddling with the queue
structure internals.

Reviewed by:	markm
2000-12-29 18:04:54 +00:00
Doug Barton
fc308a5491 Make the comment generated in /etc/pw.conf match reality
PR:				misc/23451
Submitted by:	Ben Rosengart, ben@narcissus.net
2000-12-18 01:35:56 +00:00
David E. O'Brien
1a37aa566b Add `_PATH_DEVZERO'.
Use _PATH_* where where possible.
2000-12-09 09:35:55 +00:00
Ruslan Ermilov
e97407b4f2 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 20:10:44 +00:00
Brian Feldman
04c9749ff0 Add working and easy crypt(3)-switching. Yes, we need a whole new API
for crypt(3) by now.  In any case:

Add crypt_set_format(3) + documentation to -lcrypt.
Add login_setcryptfmt(3) + documentation to -lutil.
Support for switching crypt formats in passwd(8).
Support for switching crypt formats in pw(8).

The simple synopsis is:
edit login.conf; add a passwd_format field set to "des" or "md5"; go nuts :)

Reviewed by:	peter
2000-08-22 02:15:54 +00:00
David Nugent
d37861da7a Move test for -w flag outside of the code dealing with -D (defaults).
This should cause -w's argument not to be ignored in the usermod case,
so it will affect modification of the user's password instead of using
the pw.conf (or internal default=no '*') password method.
PR:		bin/11168
2000-07-20 05:11:56 +00:00
David Nugent
f707b0d536 Allow -g with an empty argument in the -D case. This allows -g "" to set
no default group (and thus fall back to user-based groups instead).
PR:		bin/5717
2000-07-20 04:37:00 +00:00
David Nugent
e4ac984548 Fix another missed case where usermod would not set the "modified" flag:
-h - to set no password. But only mark modified if the account is not
already locked (i.e. first char of crypt password field is '*').
PR:		bin/19999
2000-07-20 00:09:29 +00:00
David Nugent
670eb236c0 Catch up to the fact that we now have tcsh in the tree. 2000-07-16 01:46:26 +00:00
David Nugent
1994f5c7aa Support propogation of file flags when building a homedir from the
skeleton directory.
sprintf() -> snprintf() cleanup.
PR:		bin/8756
Submitted by:	"Nickolay N. Dudorov" <nnd@itfs.nsk.su>
2000-07-13 23:52:49 +00:00