Skip to main content

Cómo usar el comando de Linux - comando de Unix: iniciar sesión

Contar palavras com shell script (egrep sort uniq) — Tela Preta #9 (Abril 2025)

Contar palavras com shell script (egrep sort uniq) — Tela Preta #9 (Abril 2025)
Anonim

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.

La sección de GRUPOS

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.

La seccion de usuarios

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.

Orígenes

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:

  • El nombre de un dispositivo tty sin el prefijo / dev /, por ejemplo, tty1 o ttyS0 .
  • La cadena @localhost, lo que significa que el usuario puede telnet / rlogin del host local al mismo host. Esto también permite al usuario, por ejemplo, ejecutar el comando: xterm -e / bin / login.
  • Un sufijo de nombre de dominio como @ .some.dom, lo que significa que el usuario puede iniciar sesión / telnet desde cualquier host cuyo nombre de dominio tenga el sufijo .some.dom.
  • Un rango de direcciones IPv4, escritas @ xxxx / aaaa donde xxxx es la dirección IP en la notación decimal con cuatro puntos, y aaaa es una máscara de bits en la misma notación que especifica qué bits en la dirección se comparan con la dirección IP del host remoto . Por ejemplo, @130.225.16.0/255.255.254.0 significa que el usuario puede iniciar sesión / telnet desde cualquier host cuya dirección IP esté en el rango 130.225.16.0 - 130.225.17.255 .

Cualquiera de los orígenes anteriores puede ser prefijado por una especificación de tiempo de acuerdo con la sintaxis:

timespec :: = '' ':' * ''día :: = 'mon' | 'mar' | 'wed' | 'thu' | 'fri' | 'sat' | 'Dom'hora :: = '0' | '1' | … | '23'hourspec :: = | '-' día u hora :: = |

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.