LOGIN(1) RISC/os Reference Manual LOGIN(1)
NAME
login - sign on
SYNOPSIS
login [ -d device ] [ name [ environ ... ]]
DESCRIPTION
The login command is used at the beginning of each terminal
session and allows you to identify yourself to the system.
It will be invoked by the system when a connection is first
established. It is invoked by the system when a previous
user has terminated the initial shell by typing a control-d
to indicate an end-of-file.
If login is invoked as a command it must replace the initial
command interpreter. This is accomplished by typing
exec login
from the initial shell.
login asks for your user name (if it is not supplied as an
argument), and if appropriate, your password. Echoing is
turned off (where possible) during the typing of your pass-
word, so it will not appear on the written record of the
session.
At some installations, an option may be invoked that will
require you to set your password if you do not currently
have one. In that case, login will prompt you to supply a
new password.
If there are no lower-case characters in the first line of
input processed, login assumes the connecting TTY is an
upper-case-only terminal and sets the port's termio(7)
options to reflect this.
login accepts a device option, device. device is taken to
be the path name of the TTY port login is to operate on.
The use of the device option can be expected to improve
login performance, since login will not need to call
ttyname(3).
If you make any mistake in the login procedure, the message
Login incorrect
is printed and a new login prompt will appear. If you make
five incorrect login attempts, all five may be logged in
/var/adm/loginlog (if it exists) and the TTY line will be
dropped.
If you do not complete the login successfully within a cer-
tain period of time (e.g., one minute), you are likely to be
Printed 11/19/92 Page 1
LOGIN(1) RISC/os Reference Manual LOGIN(1)
silently disconnected.
After a successful login, accounting files are updated, the
/etc/profile script is executed, the time you last logged in
is printed, /etc/motd is printed, the user-ID, group-ID,
working directory, and command interpreter (usually sh) are
initialized, and for sh(1) the file .profile in the working
directory is executed, if it exists. The name of the com-
mand interpreter is - followed by the last component of the
interpreter's path name (for example, -sh). If this field
in the password file is empty, then the default command
interpreter, /usr/bin/sh is used. For information about
other command interpreters (for example, csh(1)), see the
appropriate manual pages. If this field is *, then the
named directory becomes the root directory, the starting
point for path searches for path names beginning with a /.
At that point login is re-executed at the new level which
must have its own root structure, including /var/adm/login
and /etc/passwd.
The basic environment is initialized to:
HOME=your-login-directory
LOGNAME=your-login-name
PATH=/usr/bin
SHELL=last-field-of-passwd-entry
MAIL=/var/mail/your-login-name
TZ=timezone-specification
TERM=your-terminal-type
LOGNAME=your-login-name
USER=your-login-name
The environment may be expanded or modified by supplying
additional arguments to login, either at execution time or
when login requests your login name. The arguments may take
either the form xxx or xxx=yyy. Arguments without an equal
sign are placed in the environment as
Ln=xxx
where n is a number starting at 0 and is incremented each
time a new variable name is required. Variables containing
an = are placed in the environment without modification. If
they already appear in the environment, then they replace
the older value. There are two exceptions. The variables
PATH and SHELL cannot be changed. This prevents people,
logging into restricted shell environments, from spawning
secondary shells which are not restricted. login understands
simple single-character quoting conventions. Typing a
backslash in front of a character quotes it and allows the
inclusion of such characters as spaces and tabs.
Page 2 Printed 11/19/92
LOGIN(1) RISC/os Reference Manual LOGIN(1)
The following files were added for backwards compatibility
with the previous version of login. Many of these options
are available through the login(4) file.
If a file named /etc/login.nohome.ok exists, login will
allow users to log in even if their home directory does not
exist. Such users' shell's current directory will be set to
'/'. This option should be enabled if compatibility with
4.3 BSD login is desired.
If a file named /etc/login.initgroups.ok exists, login will
call initgroups() to enable simultaneous access to files
belonging to all groups of which the user is a member (as
specified in /etc/group). This allows the user to avoid
using newgrp. This option should be enabled if compatibil-
ity with 4.3 BSD login is desired.
If a group named "tty" exists in /etc/group, and if a file
named /etc/login.ttygroup.ok exists, login will change the
group ownership of the controlling terminal to group "tty"
instead of to the user's primary group. This option should
be enabled if compatibility with the 4.3 BSD "Tahoe" release
is desired.
If a file named .hushlogin exists in a user's home direc-
tory, login will not print any system messages, such as the
message of the day.
If the file /usr/adm/lastlog exists, login will maintain in
it a database of the last login for each user, and will
print a message giving the time and terminal of the last
login.
If the file /etc/nologin exists, login will not permit
logins by users other than root, and will print the contents
of /etc/nologin before exiting.
If the file /etc/wtmp does not exist, but the file
/usr/adm/wtmp does exist, login will use the latter for
recording logins.
If syslogd is running, login will log interesting events,
such as repeated login failures or root logins, to syslogd,
instead of directly to the console.
If the file /etc/login.lastlogin.ok exists, login will main-
tain a file .lastlogin in the each user's home directory,
indicating when the user last logged in, and provide a mes-
sage indicating the time of the last login. Note that this
feature is redundant if /usr/adm/lastlog exists; it is pro-
vided for compatibility with certain other implementations.
Printed 11/19/92 Page 3
LOGIN(1) RISC/os Reference Manual LOGIN(1)
If the file /etc/dialups exists, and the name of the termi-
nal line appears in the file, and the /etc/d_passwd exists,
a dialup password will be required for logins on that line,
if the shell of the user appears in /etc/d_passwd. The file
/etc/dialups consists of a list of terminal names, such as
``/dev/ttyh1'', one per line. The file /etc/d_passwd con-
sists of a list of shell name-password pairs, in the style
of a password file, such as ``/bin/sh:tbKLWjrc0MKmQ:'', one
per line. If the name of the user's shell does not appear
in the file, or if the password field is empty
(``/bin/sh::''), no password is required. The password, if
present, is assumed to be encrypted in the same manner as
passwords in /etc/passwd or /etc/group.
If the file /etc/login.passreq.ok exists, login will require
all users who do not have a password to supply one when they
first login; this password will then be required for subse-
quent logins.
If the file /etc/login.root.console.ok exists, login will
permit user root to login only on the system console. The
system console is defined as any character special file
which matches the device number of the /dev/console special
file.
If the file /etc/login.quotawarn.ok exists, login will exe-
cute /usr/ucb/quota to report the user's disk quota status.
login, however, will skip running quota if .hushlogin exists
in the user's home directory.
FILES
/var/adm/utmp accounting
/var/adm/wtmp accounting
/var/mail/your-name mailbox for user your-name
/var/adm/loginlog record of failed login attempts
[see loginlog(4)]
/etc/motd message-of-the-day
/etc/passwd password file
/etc/group group file
/etc/profile system profile
.profile user's login profile (for sh)
.hushlogin disable login messages
Page 4 Printed 11/19/92
LOGIN(1) RISC/os Reference Manual LOGIN(1)
/etc/login.nohome.ok enable login without home directory
/etc/login.initgroups.ok enable use of initgroups()
/etc/login.ttygroup.ok enable setting terminal to group
tty
/etc/nologin disable non-root logins
.lastlogin record last login time
/etc/login.lastlogin.ok enable use of .lastlogin
/etc/dialups list of dialup lines
/etc/d_passwd list of dialup passwords for vari-
ous login shells
/etc/login.passreq.ok enable requiring passwords
/etc/login.root.console.ok
enable requiring root to login on
the system console
/etc/login.quotawarn.ok enable running /usr/ucb/quota to
check user quota status
/etc/default/login see login(4)
SEE ALSO
mail(1), sh(1), su(1).
login(4), loginlog(4), passwd(4), profile(4), environ(5) in
the Programmer's Reference Manual.
newgrp(1M) in the System Administrator's Referenc Manual.
DIAGNOSTICS
login incorrect
if the user name or the password cannot be matched.
No shell, cannot open password file, or no directory
consult a system administrator.
No utmp entry
You must execute login from the lowest level shell
if you attempted to execute login as a command
without using the shell's exec internal command or
from a shell other than the initial shell.
Printed 11/19/92 Page 5