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 password using auth/changeuser on the console of the authentication server (see auth(8)). At this point, the user can bootstrap a terminal using the new name and password. The terminal 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 environment for a new user of Plan 9. Once the terminal is running 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 running. (There is no need to reboot.) It may be prudent at this point to run passwd(1) to change the password, depending 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
		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).