Commit Graph

126 Commits

Author SHA1 Message Date
wiz
e57ebdb6c5 Close masterfd after reading from it. Found by cppcheck. 2011-01-04 10:30:21 +00:00
mlelstv
6ee63fe8b0 Add new keyword gid_range to usermgmt.conf which specifies a default
GID range for groupadd(8).
2009-12-31 19:59:31 +00:00
hubertf
2058a998c8 Fix -p:
* rm_eo is the first character *after* the match, so no need for a +1
 * Blowfish hashes are only 53 chars long, not 54
2009-10-15 23:03:02 +00:00
mike
c7f073e0ff Fix check for duplicate gid when '-g =uid' is specified to usermod.
Closes PR bin/40391
2009-03-20 02:53:47 +00:00
mike
0779b10efc Do not allow duplicate group id in groupmod unless -o is specified.
Closes PR bin/40393
2009-03-18 04:59:45 +00:00
christos
7022cb2a8d bin/40994: Michael van Elst: usermod -l change password so user is unable to
login. User getpwnam_r to avoid trashing result of previous call to getpwnam().
2009-03-11 14:18:03 +00:00
lukem
9c1945664c Remove the \n and tabs from the __COPYRIGHT() strings.
Tweak to use a consistent format.
2008-07-21 13:36:57 +00:00
reed
a87ec1e425 Remove the -v verbose switch from userinfo. It was not used.
Also remove reference to usermgmt.conf from userinfo manpage.

Discussed on tech-userlevel.
2008-02-27 19:12:56 +00:00
hubertf
f81f738d09 disclaim copyright 2008-02-04 01:28:20 +00:00
pavel
e98941caa4 Change the default shell to /bin/sh. It has most of the usability
advantages of our ksh (emacs line editing). There were objections against
using ksh, because our (pd)ksh is not the real ksh. See also the
discussion on tech-userlevel.

Motivation for changing the default from csh is better interactive
usability and desire to use a standard shell, which is already used for
all the system shell scripts.

Approved by core.
2006-11-02 21:42:08 +00:00
wiz
b7a8d82a23 Sort options in usage. 2006-10-13 20:43:31 +00:00
elad
5e188d0b70 PR/30351: Hubert Feyrer: useradd(8) doesn't allow setting permissions of
new home [patch]

Adapted to current code and some nits from myself. Thanks for the patch!
2006-10-07 09:20:07 +00:00
pavel
338033d1c7 revert change of default shell, reguested by agc@. 2006-09-30 11:47:00 +00:00
pavel
4d8dbf3bf0 Change the default shell to /bin/ksh, which is our best interactive
shell at the moment. Proposed on tech-userlevel and approved by hubertf@.
2006-09-30 10:50:32 +00:00
pavel
3b850c18c8 in userinfo, initialize buf (the buffer which will hold group names)
to be a null-terminated string. Otherwise, if the user is not a member
of any secondary groups, buf is completely uninitialized and userinfo
adds garbage to the list of groups printed.
2006-09-30 10:44:55 +00:00
christos
5efc77fb1e use realloc instead of free+calloc 2006-06-27 12:39:23 +00:00
jnemeth
b7899a65bc try again with the Coverity annotation 2006-06-02 21:44:37 +00:00
jnemeth
d9a7dcfba5 Coverity annotation -- although memsave free()s its first argument, it
will allocate memory and assign it to its first argument, so it is neutral
Coverity CID 3229:  memory leak -- failed to fclose() master in moduser()
Coverity CID 3228:  memory leak -- failed to free() newname in groupmod()
2006-05-27 03:41:48 +00:00
joerg
368cb1b951 Garbage collect cc in moduser, it is only set once, but never read as
noticed by lint.
2006-03-22 18:02:46 +00:00
joerg
5dc48904d3 Don't leak FILEs when flock fails. Found by Coverity (CID 1776, 1777 and
1778). Patch by Liam J. Foy, which handles one more case.
2006-03-22 18:01:11 +00:00
dmcmahill
de309be996 put the array bounds check _before_ accessing the array.
Coverity  CID: 1479
2006-03-17 14:20:10 +00:00
dmcmahill
ee00225705 put the array bounds check _before_ accessing the array.
Coverity  CID: 1480
2006-03-17 14:14:45 +00:00
christos
aa3a9e822d By popular demand don't bail out if a user's shell is not in /etc/shells.
Issue a warning instead.
2006-02-23 22:45:25 +00:00
jmmv
1cd43a0b52 Add a missing space in the usage message. 2006-01-26 17:24:52 +00:00
agc
9823410edb Use a CPP definition for "/sbin/nologin" - it's at the top of the
file.

Modify the logic in the previous but one commit - /sbin/nologin should
be considered a valid user shell, since otherwise, with the addition
of the checks for a valid user shell, useradd with a shell of
/sbin/nologin will fail.

Modify some of the code here to conform to the standards in the rest
of this file.
2006-01-14 22:00:52 +00:00
elad
87a445663d Add forgotten ')'. 2006-01-13 16:36:33 +00:00
christos
efe8347be7 treat /sbin/nologin specially. 2006-01-13 13:43:23 +00:00
christos
ca0029edd3 Add checks for valid shell. From Liam Foy. 2006-01-06 18:11:00 +00:00
agc
40a712f2d4 Be pragmatic - move user(8) to a 3-clause BSD licence. 2005-11-25 08:00:18 +00:00
christos
6b3d6b9d93 remove asprintf and strlcpy. We don't support NetBSD1.3 and NetBSD1.4.
GC Todd's copyright, since it is not needed anymore.
2005-11-07 21:58:12 +00:00
christos
9b674959c3 More cleanups from Liam Foy:
- Fix error messages, some are completely incorrect
    - Asystem prints the error message so don't bother saving errno
    - Don't continue if a lock can't be obtained on /etc/group
    - Just pass struct passwd * to removehomedir, not its members
Some copyright maintenance:
    - Add Liam Foy.
    - Move Todd's copyright higher up.
    XXX: We should remove clause 3 and merge the two copyright groups.
2005-11-07 21:46:50 +00:00
christos
c81227bb08 call pw_abort() on failure (from Liam Foy) 2005-10-05 21:17:53 +00:00
rpaulo
ece51eabd5 PR 22469: user.c should use "pwd.h" include file for
_PATH_USERMGMT_CONF. By rpixley@vm-netbsd-161.nominum.com.
2005-09-19 00:43:17 +00:00
agc
c73a10fe94 Ensure that a consistent coding style is used.
s/1/EXIT_FAILURE/
2005-09-18 21:41:26 +00:00
christos
4471e7c6f5 From Liam Foy:
- Correct lenght for the username
- First character in the login name cannot be '-' (OpenBSD)
- Remove some #ifdef EXTENSIONS. find_group_info is always needed
- When printing change, if it's -1, place a correct string.
2005-09-18 14:15:53 +00:00
christos
c9d876ed6c Warn if the group being removed is still the primary group of an existing
user. From Liam Foy.
2005-09-12 15:45:03 +00:00
wiz
ba3a0dadf1 Sync group* usages with man pages. 2005-09-09 22:04:09 +00:00
wiz
f629e1e94e Sync user* usage with man pages. Bonus grammar fix in comment. 2005-09-09 21:48:10 +00:00
he
1bb5735b5e Check the return value from mktime() and pass any error up.
*tp > LONG_MAX is never true, so replace that check with a test
for strtol() setting errno == ERANGE (oddly, some ports' build
swallowed this without warning).

There's no guarantee that a time_t stores the same number of bits
as a long, so check for an overflow there as well, and pass any
error up.

Discussed with christos, martin and mrg.
2005-08-12 21:40:35 +00:00
christos
91b1a8d112 patch from Liam Foy to add a -F option to force a user to change her's/his
password at the next login.
2005-08-12 16:22:05 +00:00
christos
78a36d519b The language lawyers claim that it is invalid to test a freed pointer, so
don't!
2005-07-30 15:06:43 +00:00
christos
32a16509f3 If the class was not specified, don't print a warning. 2005-07-30 14:35:23 +00:00
christos
42ec3173f1 Don't make it fatal if the login class doe not exist. From Jukka Salmi. 2005-07-29 18:16:21 +00:00
peter
cea4f4ef79 Minor tweaks to the usage message:
- better layout for useradd.
- fix a small mistake in -u and wrap long line.
2005-07-27 23:32:02 +00:00
christos
24e9d708ff Patches from Liam Foy:
- Add new -C option to 'usermod'. This allows a quick way to temporary
  lock a users account. This is similar to how FreeBSD do it using
  'adduser'. This function can be very handy to administrators!
- Import a function to check if the inputted class actually exists. It
  contains my modifications to test whether /etc/login.conf exists
  in the first place. -OpenBSD

While I am there:

- KNF (long wrapped lines, and spaces after void casts).
- Factor out some common code.
- Fix error messages.
	1. Consistently capitalize them.
	2. Fix err->errx and warn->warnx inappropriate uses.
	3. Use regerror where appropriate.
	4. Don't call warn()/err() to report errors after you trashed errno
	   by calling other syscalls. Save and restore the errno instead,
	   or in the warn() case, call warn() first.
- Fix size_t - int, uid_t - int confusion.
- Pass lint
2005-07-27 19:08:42 +00:00
agc
c426bea6d7 Commit changes from Liam J. Foy:
- system(), rmdir() sets errno, use it
- Use warnx() if strchr failed, not warn()
- Constify some arguments
- Fix cases when errx()/warnx() should be used instead of err()/warn()
  due to errno not being set.

Group code:
------------
- List members in a neat fashion, separated by commas
- groupmod(): Use find_group_info - consistency
2005-07-20 21:42:58 +00:00
agc
6fdfc9ef36 Be consistent when deleting a non-existent group - tell if the group is
non-existent.

Problem noted by Geert Hendrickx, fix from Liam J. Foy.
2005-06-14 18:29:58 +00:00
agc
8313edf555 Do some Common Subexpression Elimination when testing for valid characters
in login and group names.
2005-04-05 22:54:26 +00:00
peter
943430a954 Allow '_', '.' and '-' in group names, like in login names.
Fixes problem with groupadd(8) for _pflogd; pointed out by Jukka Salmi.

Approved by christos.
2005-04-05 22:03:57 +00:00
jmmv
bc6cd262e3 Add the -r flag to groupadd; it can be used to specify a gid range in which
new groups should be created.  This is similar to useradd's -r flag.

Closes my own PR bin/22791.  Patch by URA Hiroshi with some minor changes
by me.

No objections in tech-userlevel@ for multiple days.
2005-02-05 10:43:14 +00:00