Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
login(1)		    General Commands Manual		      login(1)

       login - sign on to the system

       login [ -p ] [ -d device	] [ -h hostname	[ terminal ] |
	     -r	hostname ] [ name [ environ ...	]]


       You  use	the login command at the beginning of each terminal session to
       identify	yourself to the	system.	 login is invoked by the system	when a
       connection is first established,	after the previous user	has terminated
       the login shell by issuing the exit command.

       If login	is invoked as a	command, it must replace the  initial  command
       interpreter.  To	invoke login in	this fashion, type:

	    exec login

       from the	initial	shell.

       login  asks  for	 your user name, if it is not supplied as an argument,
       and your	password, if appropriate.  Where possible, echoing  is	turned
       off  while you type your	password, so it	will not appear	on the written
       record of the session.

       If there	are no lowercase characters in the first line  of  input  pro-
       cessed, login assumes the connecting TTY	is an uppercase-only terminal.
       It then sets the	port's termio(7I) options to reflect this.  This  fea-
       ture  will  be  removed	in  a Solaris release shipped after January 1,

       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	incor-
       rect login attempts, all	five may be logged in /var/adm/loginlog, if it
       exists.	The TTY	line will be dropped.

       If password aging is  turned  on	 and  the  password  has  "aged"  (see
       passwd(1)  for  more  information),  the	 user is forced	to changed the
       password.  In this case the /etc/nsswitch.conf file is consulted	to de-
       termine password	repositories (see nsswitch.conf(4)).  The password up-
       date configurations supported are limited to the	following five cases.

	      o	passwd:	files
	      o	passwd:	files nis
	      o	passwd:	files nisplus
	      o	passwd:	compat (==> files nis)
	      o	passwd:	compat (==> files nisplus)
		 passwd_compat:	nisplus

       Failure to comply with the configurations will prevent  the  user  from
       logging	onto  the  system  because passwd(1) will fail.	 If you	do not
       complete	the login successfully within a	certain	period of time,	it  is
       likely that you will be silently	disconnected.

       After  a	successful login, accounting files are updated.	 Device	owner,
       group, and permissions  are  set	 according  to	the  contents  of  the
       /etc/logindevperm file, and the time you	last logged in is printed (see

       The user-ID, group-ID, supplementary group list,	and working  directory
       are initialized,	and the	command	interpreter (usually ksh) is started.

       The basic environment is	initialized to:


       For Bourne shell	and Korn shell logins, the shell executes /etc/profile
       and $HOME/.profile, if it exists.  For C	shell logins, the  shell  exe-
       cutes   /etc/.login,   $HOME/.cshrc,  and  $HOME/.login.	  The  default
       /etc/profile and	/etc/.login files check	quotas (see quota(1M)),	 print
       /etc/motd, and check for	mail.  None of the messages are	printed	if the
       file $HOME/.hushlogin exists.  The name of the command  interpreter  is
       set  to	-  (dash), followed by the last	component of the interpreter's
       path name, for example, -sh.

       If the login-shell field	in the password	file (see passwd(4)) is	empty,
       then  the  default  command interpreter,	/usr/bin/sh, is	used.  If this
       field is	* (asterisk), then the named directory becomes the root	direc-
       tory.   At that point login is re-executed at the new level, which must
       have its	own root structure.

       The environment may be expanded or modified by supplying	additional ar-
       guments	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:


       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 envi-
       ronment,	then they replace the older values.

       There are two exceptions:  The  variables  PATH	and  SHELL  cannot  be
       changed.	  This	prevents  people logged	into restricted	shell environ-
       ments, from spawning secondary shells that are not  restricted.	 login
       understands  simple single-character quoting conventions.  Typing a ' \
       ' (backslash) in	front of a character quotes it and allows  the	inclu-
       sion of such characters as spaces and tabs.

       Alternatively, you can pass the current environment by supplying	the -p
       flag to login.  This flag indicates that	all currently defined environ-
       ment  variables	should be passed, if possible, to the new environment.
       This option does	not bypass any environment variable restrictions  men-
       tioned  above.	Environment variables specified	on the login line take
       precedence, if a	variable is passed by both methods.

       To enable remote	logins by root,	edit the  /etc/default/login  file  by
       inserting  a  ' # ' (pound-sign)	before the CONSOLE=/dev/console	entry.
       See FILES below.

       -d device 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(3C).
		 The -d	option is available only to users whose	UID and	effec-
		 tive  UID  are	 root.	Any other attempt to use -d will cause
		 login to quietly exit.

       -h hostname [ terminal ]
		 used by in.telnetd(1M)	to pass	information about  the	remote
		 host and terminal type.

       -p	 used to pass environment variables to the login shell.

       -r hostname
		 used  by  in.rlogind(1M) to pass information about the	remote

       0	 success

       non-zero	 error.

       $HOME/.cshrc	   initial commands for	each csh
       $HOME/.hushlogin	   suppresses login messages
       $HOME/.login	   user's login	commands for csh
       $HOME/.profile	   user's login	commands for sh	and ksh
       $HOME/.rhosts	   private list	of trusted hostname/username  combina-
       /etc/.login	   system-wide csh login commands
       /etc/logindevperm   login-based device permissions
       /etc/motd	   message-of-the-day
       /etc/nologin	   message displayed to	users attempting to login dur-
			   ing machine shutdown
       /etc/passwd	   password file
       /etc/profile	   system-wide sh and ksh login	commands
       /etc/shadow	   list	of users' encrypted passwords
       /usr/bin/sh	   user's default command interpreter
       /var/adm/lastlog	   time	of last	login
       /var/adm/loginlog   record of failed login attempts
       /var/adm/utmp	   accounting
       /var/adm/wtmp	   accounting
       /var/mail/your-name mailbox for user your-name
       /etc/default/login  Default value can be	set for	the following flags in
			   /etc/default/login.	For example: TIMEZONE=EST5EDT
			   TIMEZONE	  Sets	the TZ environment variable of
					  the shell (see environ(5)).
			   HZ		  Sets the HZ environment variable  of
					  the shell.
			   ULIMIT	  Sets the file	size limit for the lo-
					  gin.	Units are  disk	 blocks.   De-
					  fault	is zero	(no limit).
			   CONSOLE	  If  set,  root can login on that de-
					  vice only.  This  will  not  prevent
					  execution  of	 remote	 commands with
					  rsh(1).  Comment out	this  line  to
					  allow	login by root.
			   PASSREQ	  Determines if	login requires a pass-
			   ALTSHELL	  Determines if	login should  set  the
					  SHELL	environment variable.
			   PATH		  Sets	the  initial  shell PATH vari-
			   SUPATH	  Sets the initial shell PATH variable
					  for root.
			   TIMEOUT	  Sets	the number of seconds (between
					  0 and	900) to	wait before abandoning
					  a login session.
			   UMASK	  Sets the initial shell file creation
					  mode mask.  See umask(1).
			   SYSLOG	  Determines  whether  the   syslog(3)
					  LOG_AUTH  facility should be used to
					  log all root logins at level LOG_NO-
					  TICE	and  multiple failed login at-
					  tempts at LOG_CRIT.
			   SLEEPTIME	  If present sets the number  of  sec-
					  onds to wait before login failure is
					  printed to the  screen  and  another
					  login	 attempt  is allowed.  Default
					  is 4 seconds;	Minimum	is 0  seconds.
					  Maximum is 5 seconds.

       csh(1),	ksh(1),	 mail(1),  mailx(1),  newgrp(1), passwd(1), rlogin(1),
       rsh(1), sh(1), shell_builtins(1), telnet(1),  umask(1),	admintool(1M),
       in.rlogind(1M),	in.telnetd(1M),	 logins(1M),  quota(1M),  su(1M), sys-
       logd(1M), useradd(1M), userdel(1M), rcmd(3N),  syslog(3),  ttyname(3C),
       hosts.equiv(4),	  logindevperm(4),   loginlog(4),   nologin(4),	  nss-
       witch.conf(4), passwd(4), profile(4), shadow(4),	environ(5), termio(7I)

       Login incorrect	   The user name or the	password cannot	be matched.

       Not on system console
			   Root	login denied.  Check the  CONSOLE  setting  in

       No directory! Logging in	with home=/
			   The	user's	home  directory	named in the passwd(4)
			   database cannot be found or has the	wrong  permis-
			   sions.  Contact your	system administrator.

       No shell		   Cannot  execute  the	 shell	named in the passwd(4)
			   database.  Contact your system administrator.

       NO LOGINS: System going down in N minutes
			   The machine is in the process of being shutdown and
			   logins have been disabled.

       Users  with a UID greater than 76695844 are not subject to password ag-
       ing, and	the system does	not record their last login time.

       If you use the CONSOLE setting to disable root logins, you  should  ar-
       range  that  remote  command  execution	by root	is also	disabled.  See
       rsh(1), rcmd(3N), and hosts.equiv(4) for	further	details.

				  21 Dec 1995			      login(1)


Want to link to this manual page? Use this URL:

home | help