.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $Id: adduser.8,v 1.10 1996/08/23 00:55:35 mpp Exp $
-
+.\" $Id: adduser.8,v 1.19 1997/02/22 16:01:17 peter Exp $
.Dd Jan, 9, 1995
.Dt ADDUSER 8
.Os FreeBSD 2.1
.Sh NAME
.Nm adduser
.Nd command for adding new users
-
.Sh SYNOPSIS
.Nm adduser
- [-batch username [group[,group]...] [fullname] [password]]
- [-check_only] [-config_create] [-dotdir dotdir]
- [-group login_group] [-h|-help] [-home home]
- [-message message_file] [-noconfig] [-shell shell]
- [-s|-silent|-q|-quit] [-uid uid_start] [-v|-verbose]
-
-
+.Oo
+.Fl batch Ar username
+.Op Ar group Ns , Ns Op Ar group,...
+.Op Ar class
+.Op Ar fullname
+.Op Ar password
+.Oc
+.br
+.Op Fl check_only
+.br
+.Op Fl class Ar login_class
+.br
+.Op Fl config_create
+.br
+.Op Fl dotdir Ar dotdir
+.br
+.Op Fl group Ar login_group
+.br
+.Op Fl h | help
+.br
+.Op Fl home Ar home
+.br
+.Op Fl message Ar message_file
+.br
+.Op Fl noconfig
+.br
+.Op Fl shell Ar shell
+.br
+.Op Fl s | silent | q | quiet
+.br
+.Op Fl uid Ar uid_start
+.br
+.Op Fl v | verbose
.Sh DESCRIPTION
.Nm Adduser
-is a simple program for adding new users. Adduser check
-passwd, group and shell database. It create passwd/group entry,
-HOME-directory, dotfiles and send new user a welcome message.
-
-.Sh RESTRICTION
+is a simple program for adding new users. Adduser checks
+the passwd, group and shell databases. It creates passwd/group entries,
+HOME-directory, dotfiles and sends the new user a welcome message.
+.Sh RESTRICTIONS
.Bl -tag -width Ds -compact
.It Sy username
-Login name. Only lowercase characters or digits. Maximum length
-is 8 characters (see
+Login name. May contain only lowercase characters or digits. Maximum length
+is 16 characters (see
.Xr setlogin 2
BUGS section).
-The reasons for this limit is "Historical".
+The reasons for this limit are "Historical".
Given that people have traditionally wanted to break this
limit for aesthetic reasons, it's never been of great importance to break
such a basic fundamental parameter in UNIX.
-You can change UT_NAMESIZE in /usr/include/utmp.h and recompile the
+You can change
+.Dv UT_NAMESIZE
+in
+.Pa /usr/include/utmp.h
+and recompile the
world; people have done this and it works, but you will have problems
with any precompiled programs, or source that assumes the 8-character
name limit and NIS. The NIS protocol mandates an 8-character username.
.Pa /etc/aliases .
.It Sy fullname
Firstname and surname.
+The
.Ql Pa \:
-not allowed.
+character is not allowed.
.It Sy shell
-Only valid shells from shell database or sliplogin and pppd
+Only valid shells from the shell database or sliplogin and pppd
.It Sy uid
-Automatically generated or your choice. Less than 32000.
+Automatically generated or your choice, must be less than 32000.
.It Sy gid/login group
Your choice or automatically generated.
.It Sy password
-If not empty password is encoded with crypt.
+If not empty, password is encoded with
+.Xr crypt 3 .
.El
-
-.Sh UNIQ GROUP
-Perhaps your missing what *can* be done with this scheme that falls apart
+.Sh UNIQUE GROUPS
+Perhaps you're missing what
+.Em can
+be done with this scheme that falls apart
with most other schemes. With each user in his/her own group the user can
-safely run with a umask of 002 and have files created in there home directory
+safely run with a umask of 002 and have files created in their home directory
and not worry about others being able to read them.
-
+.Pp
For a shared area you create a separate uid/gid (like cvs or ncvs on freefall),
you place each person that should be able to access this area into that new
group.
-
-This model of uid/gid administration allows far greater flexibility that lumping
+.Pp
+This model of uid/gid administration allows far greater flexibility than lumping
users into groups and having to muck with the umask when working in a shared
area.
-
+.Pp
I have been using this model for almost 10 years and found that it works
for most situations, and has never gotten in the way. (Rod Grimes)
-
.Sh CONFIGURATION
.Bl -tag -width Ds -compact
.It Sy 1.
.It Sy 3.
Parse command line options
.El
-
.Sh OPTIONS
.Bl -tag -width Ds
-.It Sy -batch username [group[,group]...] [fullname] [password]
+.It Sy -batch username [group[,group]...] [class] [fullname] [password]
Batch mode.
-
.It Sy -check_only
Check /etc/passwd, /etc/group, /etc/shells and exit.
-
+.It Sy -class Ar login_class
+Set default login class
.It Sy -create_config
Create new config and message file and exit.
-
.It Sy -dotdir Ar directory
Copy files from
.Ar directory
-into the HOME-directory of new users.
+into the HOME-directory of new users,
.Ql Pa dot.foo
files renamed to
-.Ql Pa .foo
+.Ql Pa .foo .
Don't copy files if
.Ar directory
-equal with
-.Ar no
-For security make a all files writable and readable for owner,
+specified is equal to
+.Ar no .
+For security make all files writable and readable for owner,
don't allow group or world to write files and allow only owner
-to read/execute/write .rhost, .Xauthority, .kermrc, .netrc, Mail,
-prv, iscreen, term.
-
+to read/execute/write
+.Pa .rhost ,
+.Pa .Xauthority ,
+.Pa .kermrc ,
+.Pa .netrc ,
+.Pa Mail ,
+.Pa prv ,
+.Pa iscreen ,
+.Pa term .
.It Sy -group Ar login_group
Login group.
.Ar USER
-mean use username as login group.
-
+means use username as login group.
.It Sy -help,-h,-?
Print options and exit.
-
.It Sy -home Ar partition
Default home partition where all users located.
-
.It Sy -message Ar file
Send new users a welcome message.
Don't send message if
.Ar file
equal with
-.Ar no
-
+.Ar no .
.It Sy -noconfig
Do not read config file.
-
.It Sy -shell Ar shell
Default shell for new users.
-
-.It Sy -silent,-s,-quit,-q
-Few warnings, question, bug reports.
-
+.It Sy -silent,-s,-quiet,-q
+Few warnings, questions, bug reports.
.It Sy -uid Ar uid
Use uid's from
.Ar uid
-up.
-
+on up.
.It Sy -verbose,-v
-Many warning, question. Recommended for novice users.
-
-
-
+Many warnings, questions. Recommended for novice users.
.Sh FORMATS
.Bl -tag -width Ds -compact
.Ql Pa #
is a comment.
-
-.P
.It Sy config file
.Nm Adduser
-read and write this file.
-See /etc/adduser.conf for more details.
+reads and writes this file.
+See
+.Pa /etc/adduser.conf
+for more details.
.It Sy message file
-Eval variables in this file. See /etc/adduser.message for more
+Eval variables in this file. See
+.Pa /etc/adduser.message
+for more
details.
.El
-
.Sh EXAMPLES
.Pp
$ adduser
.Pp
Start adduser in interactive mode.
-
.Pp
-$ adduser -batch baerenklau guest,staff,baer 'Teddy II' qwerty7
+$ adduser -batch baerenklau guest,staff,baer '' 'Teddy II' qwerty7
.Pp
Create user 'baerenklau' and login group 'baerenklau'. Invite user
-baerenklau into groups guest, staff and baer. Realname (fullname)
-is 'Teddy II'. Password is 'qwerty7' (don't use such password!). Create
-HOME directory '/home/baerenklau' and copy all files and directories
-from /usr/share/skel to /home/baerenklau. Send user baerenklau
+baerenklau into groups guest, staff and baer. Use default login class.
+Realname (fullname)
+is 'Teddy II'. Password is 'qwerty7' (don't use such passwords!). Create
+HOME directory
+.Pa /home/baerenklau
+and copy all files and directories
+from
+.Pa /usr/share/skel
+to
+.Pa /home/baerenklau .
+Send user baerenklau
a welcome message.
-
.Pp
$ adduser -uid 5000 -group guest -message no -batch vehlefanz
.Pp
-Create user 'vehlefanz'. Login group is guest. Uid is up to
-5000, for instance 5007. No other groups, no realname, no password.
+Create user 'vehlefanz'. Login group is guest. Uid next available uid
+after 5000, for instance 5007. No other groups, no realname, no password.
Do not send a welcome message.
-
.Sh FILES
.Bl -tag -width /etc/master.passwdxx -compact
.It Pa /etc/master.passwd
group database
.It Pa /etc/shells
shell database
+.It Pa /etc/login.conf
+login classes database
.It Pa /etc/adduser.conf
config file for adduser
.It Pa /etc/adduser.message
.It Pa /var/log/adduser
logfile for adduser
.El
-
.Sh SEE ALSO
.Xr chpass 1 ,
.Xr finger 1 ,
.Xr setlogin 2 ,
.Xr yp 4 ,
.Xr aliases 5 ,
-.Xr passwd 5 ,
.Xr group 5 ,
+.Xr login.conf 5 ,
+.Xr passwd 5 ,
.Xr shells 5 ,
+.Xr addgroup 8 ,
.Xr pwd_mkdb 8 ,
+.Xr rmgroup 8 ,
+.Xr rmuser 8 ,
.Xr vipw 8
-
.\" .Sh BUGS
-
.Sh HISTORY
The
.Nm