El inicio de sesión se utiliza al iniciar sesión en un sistema. También se puede usar para cambiar de un usuario a otro en cualquier momento (sin embargo, la mayoría de las carcasas modernas tienen soporte para esta función).
Si no se da un argumento,iniciar sesión solicita el nombre de usuario.
Si el usuario no es root, y si existe / etc / nologin, el contenido de este archivo se imprime en la pantalla y se finaliza el inicio de sesión. Esto generalmente se usa para evitar inicios de sesión cuando el sistema está siendo eliminado.
Si se especifican restricciones de acceso especiales para el usuario en / etc / usertty, se deben cumplir, o se denegará el intento de inicio de sesión y se generará un mensaje de registro del sistema. Consulte la sección sobre "Restricciones especiales de acceso".
Si el usuario es root, entonces el inicio de sesión debe estar ocurriendo en un tty listado en / etc / securetty. Las fallas serán registradas con la facilidad de syslog.
Después de verificar estas condiciones, se solicitará y revisará la contraseña (si se requiere una contraseña para este nombre de usuario). Diez intentos son permitidos antes.iniciar sesión muere, pero después de los tres primeros, la respuesta comienza a ser muy lenta. Los fallos de inicio de sesión se informan a través del servicio de syslog. Esta función también se utiliza para informar de cualquier inicio de sesión con éxito.
Si el archivo .hushlogin existe, entonces se realiza un inicio de sesión "silencioso" (esto deshabilita la verificación del correo y la impresión de la última hora de inicio de sesión y el mensaje del día). De lo contrario, si existe / var / log / lastlog, se imprime la última hora de inicio de sesión (y se registra el inicio de sesión actual).
Se realizan tareas administrativas aleatorias, como la configuración del UID y el GID de tty. La variable de entorno TERM se conserva si existe (otras variables de entorno se conservan si-popción se utiliza). Luego se configuran las variables de entorno HOME, PATH, SHELL, TERM, MAIL y LOGNAME. La ruta por defecto es / usr / local / bin: / bin: / usr / bin: . para usuarios normales, y para / sbin: / bin: / usr / sbin: / usr / bin para root. Por último, si este no es un inicio de sesión "silencioso", se imprimirá el mensaje del día y se comprobará el archivo con el nombre del usuario en / var / spool / mail, y se imprimirá un mensaje si tiene una longitud distinta de cero.
Entonces se inicia el shell del usuario. Si no se especifica un shell para el usuario en / etc / passwd, entonces / bin / sh se utiliza Si no hay un directorio especificado en / etc / passwd , entonces / se utiliza (el directorio de inicio se comprueba para el .hushlogin archivo descrito anteriormente).
Opciones
- -pag: Utilizado por getty (8) para contariniciar sesión no destruir el medio ambiente
- -F: Se utiliza para omitir una segunda autenticación de inicio de sesión. Esto específicamente no funciona para root, y parece que no funciona bien en Linux.
- -h: Utilizado por otros servidores (es decir, telnetd (8) ) para pasar el nombre del host remoto ainiciar sesión para que pueda ser colocado en utmp y wtmp. Solo el superusuario puede usar esta opción.
Restricciones especiales de acceso
El archivo / etc / securetty enumera los nombres de ttys donde root tiene permiso para iniciar sesión. Se debe especificar un nombre de un dispositivo tty sin el prefijo / dev / en cada línea. Si el archivo no existe, la raíz tiene permitido iniciar sesión en cualquier tty.
En la mayoría de los sistemas Linux modernos se utiliza PAM (módulos de autenticación conectables). En los sistemas que no usan PAM, el archivo / etc / usertty especifica restricciones de acceso adicionales para usuarios específicos. Si este archivo no existe, no se imponen restricciones de acceso adicionales. El archivo consta de una secuencia de secciones. Hay tres tipos de secciones posibles: CLASES, GRUPOS y USUARIOS. Una sección de CLASES define clases de ttys y patrones de nombre de host, una sección de GRUPOS define ttys y hosts permitidos por grupo y una sección de USUARIOS define ttys y hosts permitidos por usuario.
Cada línea en este archivo no puede tener más de 255 caracteres. Los comentarios comienzan con el carácter # y se extienden hasta el final de la línea.
La sección de CLASES
Una sección de CLASES comienza con la palabra CLASES al comienzo de una línea en mayúsculas. Cada línea siguiente hasta el comienzo de una nueva sección o el final del archivo consta de una secuencia de palabras separadas por tabulaciones o espacios. Cada línea define una clase de ttys y patrones de host.
La palabra al comienzo de una línea se define como un nombre colectivo para los patrones ttys y host especificados en el resto de la línea. Este nombre colectivo se puede utilizar en cualquier sección posterior de GRUPOS o USUARIOS. Ningún nombre de clase de este tipo debe aparecer como parte de la definición de una clase para evitar problemas con clases recursivas.
Un ejemplo de la sección de CLASES:
Clasesmyclass1 tty1 tty2myclass2 tty3 @ .foo.com
Esto define las clases. myclass1 y myclass2 como los correspondientes lados derechos. Una sección de GRUPOS define ttys y hosts permitidos por grupo de Unix. Si un usuario es miembro de un grupo Unix de acuerdo con / etc / passwd y / etc / group y dicho grupo se menciona en una sección de GRUPOS en / etc / usertty, se otorga acceso al usuario si el grupo lo es. Una sección de GRUPOS comienza con la palabra GRUPOS en mayúsculas al comienzo de una línea, y cada línea siguiente es una secuencia de palabras separadas por espacios o tabulaciones. La primera palabra en una línea es el nombre del grupo y el resto de las palabras en la línea especifica los ttys y hosts a los que se permite el acceso a los miembros de ese grupo. Estas especificaciones pueden implicar el uso de clases definidas en las secciones anteriores de CLASES. Un ejemplo de la sección GRUPOS. Los grupossys tty1 @ .bar.edustud myclass1 tty4
Este ejemplo especifica que los miembros del grupo sys puede iniciar sesión en tty1 y desde hosts en el dominio bar.edu. Usuarios en grupo semental puede iniciar sesión desde hosts / ttys especificados en la clase myclass1 o desde tty4. Una sección de USUARIOS comienza con la palabra USUARIOS en mayúsculas al comienzo de una línea, y cada línea siguiente es una secuencia de palabras separadas por espacios o tabulaciones. La primera palabra en una línea es un nombre de usuario y ese usuario puede iniciar sesión en ttys y desde los hosts mencionados en el resto de la línea. Estas especificaciones pueden incluir clases definidas en las secciones anteriores de CLASES. Si no se especifica un encabezado de sección en la parte superior del archivo, la primera sección predeterminada es una sección de USUARIOS. Un ejemplo de la sección USUARIOS: Los usuarioszacho tty1 @ 130.225.16.0 / 255.255.255.0azul tty3 myclass2
Esto permite al usuario zacho inicie sesión solo en tty1 y desde hosts con direcciones IP en el rango 130.225.16.0 - 130.225.16.255 y usuario azul se le permite iniciar sesión desde tty3 y lo que se especifique en la clase myclass2 . Puede haber una línea en una sección de USUARIOS que comience con un nombre de usuario de * . Esta es una regla predeterminada y se aplicará a cualquier usuario que no coincida con ninguna otra línea. Si tanto una línea de USUARIOS como una línea de GRUPOS coinciden con un usuario, se le permite al usuario acceder desde la unión de todos los ttys / hosts mencionados en estas especificaciones. Las especificaciones de patrón de host y tty utilizadas en la especificación de clases, grupos y acceso de usuarios se denominan orígenes. Una cadena de origen puede tener uno de estos formatos: Cualquiera de los orígenes anteriores puede ser prefijado por una especificación de tiempo de acuerdo con la sintaxis: timespec :: = '' Por ejemplo, el origen. mon: tue: wed: thu: fri: 8-17 tty3 significa que el inicio de sesión está permitido de lunes a viernes de 8 a 17:59 (5:59 p.m.) en tty3. Esto también muestra que un rango de horas a-b incluye todos los momentos entre a: 00 y b: 59. Una especificación de una sola hora (como 10) significa el intervalo de tiempo entre 10 y 10:59. No especificar ningún prefijo de tiempo para un tty o host significa que el inicio de sesión desde ese origen se permite en cualquier momento. Si asigna un prefijo de hora, asegúrese de especificar un conjunto de días y una o más horas o intervalos de horas. Una especificación de tiempo no puede incluir ningún espacio en blanco. Si no se proporciona una regla predeterminada, los usuarios que no coincidan con ninguna línea / etc / usertty podrán iniciar sesión desde cualquier lugar como es el comportamiento estándar. Importante: Utilizar elhombrecomando % hombre ) para ver cómo se usa un comando en su computadora en particular. La sección de GRUPOS
La seccion de usuarios
Orígenes