NEWUSER(8) NEWUSER(8)
NAME
newuser - adding a new user
SYNOPSIS
/sys/lib/newuser
DESCRIPTION
To establish a new user on Plan 9, add the user to
/adm/users by running the uname command on the console of
the file server (see users(6)). Next, give the user a pass-
word using auth/changeuser on the console of the authentica-
tion server (see auth(8)). At this point, the user can boot-
strap a terminal using the new name and password. The ter-
minal will only get as far as running rc, however, as no
profile exists for the user.
The rc(1) script /sys/lib/newuser sets up a sensible envi-
ronment for a new user of Plan 9. Once the terminal is run-
ning rc, type
/sys/lib/newuser
to build the necessary directories in /usr/$user, create
/mail/box/$user/mbox, /cron/$user/cron, a reasonable initial
profile in /usr/$user/lib/profile and plumbing rules in
/usr/$user/lib/plumbing (see plumber(4)). The script then
runs the profile which, as its last step, brings up rio(1).
At this point the user's environment is established and run-
ning. (There is no need to reboot.) It may be prudent at
this point to run passwd(1) to change the password, depend-
ing on how the initial password was chosen.
The profile built by /sys/lib/newuser looks like this:
bind -a $home/bin/rc /bin
bind -a $home/bin/$cputype /bin
bind -c tmp /tmp
font = /lib/font/bit/pelm/euro.9.font
switch($service){
case terminal
plumber
upas/fs
echo -n accelerated > '#m/mousectl'
echo -n 'res 3' > '#m/mousectl'
prompt=('term% ' ' ')
fn term%{ $* }
exec rio
case cpu
if (test -e /mnt/term/mnt/wsys) {
# rio already running
Page 1 Plan 9 (printed 11/11/25)
NEWUSER(8) NEWUSER(8)
wsys = /mnt/term^`{cat /mnt/term/env/wsys}
bind -a /mnt/term/mnt/wsys /dev
echo -n $sysname > /dev/label
}
bind /mnt/term/dev/cons /dev/cons
bind /mnt/term/dev/consctl /dev/consctl
bind -a /mnt/term/dev /dev
prompt=('cpu% ' ' ')
fn cpu%{ $* }
upas/fs
news
if (! test -e /mnt/term/mnt/wsys) {
# cpu call from drawterm
font=/lib/font/bit/pelm/latin1.8.font
auth/factotum
plumber
exec rio
}
case con
prompt=('cpu% ' ' ')
news
}
Sites may make changes to /sys/lib/newuser that reflect the
properties of the local environment.
SEE ALSO
passwd(1), rio(1), namespace(4), users(6), auth(8).
Page 2 Plan 9 (printed 11/11/25)