Commit Graph

114 Commits

Author SHA1 Message Date
agc d6b0aed068 When deleting a user with preservation, use a password of
"*************" rather than a single asterisk - it's just as difficult
to hash to the longer password since the asterisk character itself is
not in its alphabet, and pwd_mkdb now thinks it's a valid DES password.
2002-11-08 11:53:20 +00:00
agc 7843f87c3d Factor out some common code. 2002-11-08 11:44:37 +00:00
wiz 40a72a2371 Undo last, on request by agc. 2002-10-02 17:30:08 +00:00
wiz 4fcce79872 utilize American spelling. 2002-10-02 15:45:32 +00:00
grant 7d8ff25974 new sentence, new line. 2002-10-02 13:49:11 +00:00
itojun 7cf12fa457 valid_password_length() is a boolean function, so there's no point in
having "> 0" in if clause.
2002-10-01 02:50:51 +00:00
agc 92ef00aeba Update previous to reflect reality. For blowfish passwords, the salt
can be a variable length field, so check the (fixed length) password
length, rather then the length of the whole password+salt+cipher.

Use a cipher type of "$2a" for blowfish.
2002-09-30 14:15:47 +00:00
agc e7bdda1971 Handle PR 18474 in a more safe and scalable fashion - keep a table of
password types, and their associated lengths, and check in useradd or
usermod whether the given encrypted password has the correct length.

This removes the (duplicated) hardcoded lengths which had crept in
with the last commit, and also checks the length of the given password
against the expected length.
2002-09-30 10:32:40 +00:00
itojun 84237f231a support MD5/blowfish password. PR 18474. 2002-09-30 04:05:22 +00:00
agc 2f14b22182 Describe what this utility does a bit better. Pointed out by Curt Sampson. 2002-09-06 08:59:25 +00:00
agc 18e50dcd89 Use syslog(3) to log new users and groups, deletions of users and groups,
and modification of user and group information.

Syslog priority is LOG_INFO, facility is LOG_USER (there is no need to
do this via LOG_AUTH, since the password and group files are world
readable).

Suggested by Hubert Feyrer, after a similar facility in Linux.
2002-08-27 12:38:02 +00:00
agc 051f76f577 Generalise the function which checks if a user is local to work for groups
as well.

Use the new function when modifying a group's information.
2002-08-27 11:25:29 +00:00
wiz aea5088350 Set the default password (if not specified) to a single star instead
of PasswordLength stars.
2002-08-07 14:24:52 +00:00
agc b35288ab0c Add a function is_local_user(), and use it in moduser(), to check that
the user is not found through NIS.

Completes fix of PR 17849, from Grant Beattie (grant@netbsd.org).

Also, don't cast return type of pw_abort(3) to void, as it already is void.
2002-08-06 11:56:26 +00:00
agc 569d79bd84 Remove the /etc/ptmp file via pw_abort(3) if the pw_mkdb(3) call fails.
Addresses part of PR 17849 from Grant Beattie, grant@netbsd.org.
2002-08-06 09:03:55 +00:00
grant eda9e509bb sweep of errx/warnx, remove unnecessary trailing \n 2002-07-20 08:40:16 +00:00
wiz 7c42d2fdaf Clean up last (no spaces before parentheses). 2002-07-09 14:13:18 +00:00
tron 4a3185f506 Get rid of __P() here. The rest of the sources doesn't use it, too. 2002-07-09 10:34:44 +00:00
tron cb35c09756 Fix build problem probably caused by some toolchain change. 2002-07-09 10:34:16 +00:00
agc c24c69434f Remove user from supplementary groups when deleting a user and not
preserving information.

Remove BUGS section from userdel(8) accordingly.

Make this utility compile with WARNS=3 - add const-poisoning and
shadow variable name resolution.
2002-07-08 22:17:47 +00:00
wiz 2e935ec638 Don't xref ourselves, use Nm. 2002-06-24 18:22:37 +00:00
wiz d4144f2137 Drop trailing whitespace and sort sections. 2002-06-24 18:20:54 +00:00
grant 551a65be7c add BUGS section (1 entry from bin/11244) 2002-06-24 17:28:07 +00:00
grant 091e72dbd4 be more explicit about creation of /etc/usermgmt.conf 2002-06-10 08:33:05 +00:00
grant ef33e31e46 mention that -D creates defaults file if it doesn't already exist and if
we are running as root.
2002-06-10 07:53:48 +00:00
wiz aa912aee09 Sort SEE ALSO. 2002-06-01 09:21:21 +00:00
wiz eb6d65caac Widen tag for list. 2002-06-01 09:21:11 +00:00
grant 9210200e15 add usermgmt.conf man page.
user -e and -f now accepts "month day year" (ala chpass(1)) and
seconds-since-epoch.
correct man pages accordingly.
2002-06-01 06:28:06 +00:00
grant 787bbf3204 fix typo 2002-05-28 04:39:08 +00:00
agc 0a602aa3de Handle multiple ranges on the command line and in the defaults file,
based on some code from Todd C.  Miller, which in turn was based on a
patch from Brian Poole <raj@cerias.purdue.edu>.

Look first in any uid ranges specified on the command line, in the order
they were given on the command line, and then in any ranges specified in
the defaults file.

With thanks to Brian for nudging me a number of times to fix this.
2002-05-03 10:31:14 +00:00
agc 2de2bc02d6 Fix for skeleton directory changes to defaults file from Brian Poole
<raj@cerias.purdue.edu>

Previous behaviour as follows:

# useradd -D -k /foo/bar
group           users
base_dir        /home
skel_dir        /foo/bar
shell           /bin/csh
class
inactive        0
expire          Null (unset)
range           10200..10300
range           10600..10700
# useradd -D
group           users
base_dir        /home
skel_dir        /etc/skel
shell           /bin/csh
class
inactive        0
expire          Null (unset)
range           10200..10300
range           10600..10700
2002-05-03 10:11:16 +00:00
agc 3db3295859 Fix from Brian Poole <raj@cerias.purdue.edu> for improper handling of
UID ranges. Previous behaviour is demonstrated below...

# useradd -D
group           users
base_dir        /home
skel_dir        /etc/skel
shell           /bin/csh
class
inactive        0
expire          Null (unset)
range           10200..10300
# useradd -D -r 10200..10300 -r 10400..10500
# useradd -D
group           users
base_dir        /home
skel_dir        /etc/skel
shell           /bin/csh
class
inactive        0
expire          Null (unset)
range           10400..10500

The second command should have put 2 ranges back into the config file,
but it really only put one because the first range on the command line
was marked as a duplicate (but when it got to writing the config file,
it only wrote command line ranges, so the 10200 got skipped).  Fix
this by initializing defrc to 0 and then only looking after defrc for
duplicate ranges.
2002-05-03 10:05:28 +00:00
agc 00ee66cd54 Modifications from Brian Poole <raj@cerias.purdue.edu>, via OpenBSD:
+ if the cd built-in fails, don't try to copy the directory hierarchy
  with pax - s/;/&&/ in a shell command
+ clean up after ourselves if a rename fails - remove the newly-created
  group file.
2002-05-03 08:07:02 +00:00
agc 3387a6a54e Do the previous differently. Run through the possible ranges for uids in
the command line order, then check the default range after that, if none
has yet been found.

Prompted by Brian Poole <raj@cerias.purdue.edu>.
2002-03-31 21:31:10 +00:00
mason 3b5b0345cc Make wording and intent clearer. "Real-world" users have expressed confusion,
and the former wording didn't help.
2002-02-27 17:42:41 +00:00
ross 2a76afae02 Generate <>& symbolically. I'm avoiding .../dist/... directories for now. 2002-02-08 01:36:18 +00:00
agc bf3822aec1 Search uid ranges properly, using command line ranges if provided, and
using the default range last.

Problem reported by Cillian Sharkey <cns@redbrick.dcu.ie>
2002-02-05 19:18:29 +00:00
wiz 32344167c3 Sort SEE ALSO, use standard headers. 2002-02-02 02:07:01 +00:00
wiz 23455e9072 Use standard headers. 2002-02-02 02:06:50 +00:00
wiz 97e18ab0bb Fix typo in date, sort SEE ALSO, use standard headers. 2002-02-02 02:06:23 +00:00
wiz b75432a4bf Use standard headers. 2002-02-02 02:05:29 +00:00
wiz a2d753e3ef Whitespace nits. 2002-01-19 11:44:57 +00:00
agc cd27040c88 + add backwards compatibility hook for old pw_mkdb() calls with no args
+ remove some unused code in a comment.

+ add F_SHELL flag in userdel

+ use a separate local declaration for a temporary variable, rather
than overloading a variable that's used for something else.
2001-10-22 11:00:05 +00:00
agc c94b91a672 Update documentation to reflect reality - "userdel -p" replaces the login
shell with /sbin/nologin, rather than /usr/bin/false.
2001-10-16 08:17:07 +00:00
wiz 4c99916337 va_{start,end} audit:
Make sure that each va_start has one and only one matching va_end,
especially in error cases.
If the va_list is used multiple times, do multiple va_starts/va_ends.
If a function gets va_list as argument, don't let it use va_end (since
it's the callers responsibility).

Improved by comments from enami and christos -- thanks!

Heimdal/krb4/KAME changes already fed back, rest to follow.

Inspired by, but not not based on, OpenBSD.
2001-09-24 13:22:25 +00:00
hubertf 5653bfc431 if creategid() fails, don't try to print system error message (use errx()
instead of err()), as all error cases in creategid() are already commented
properly from inside creategid().

This prevents funny errors like:

	miyu# groupadd test2
	miyu# groupadd test2
	groupadd: group `test2' already exists
	groupadd: can't add group: problems with /etc/group file: Inappropriate ioctl for device
2001-09-16 18:08:37 +00:00
christos 9a9926ee57 PR/13874: Hubert Feyrer: Add -L class to useradd 2001-09-05 21:37:32 +00:00
ad 1e8e78ed07 Update for pw_mkdb() change: restrict updates to one user's records and/or
the secure database where appropriate.
2001-08-18 19:35:32 +00:00
joda 3a2248a4e7 (usermod): ~F_MKDIR is usually much better than !F_MKDIR in bit masks 2001-08-17 08:29:00 +00:00
itojun 85856f18c0 do not make "useradd foo -s bar" to ignore "-s bar" silently. require
exactly one username.
2001-06-23 02:42:32 +00:00