/etc/securetty
es consultado por el módulo pam_securetty para decidir desde qué raíz virtual (ttyS) puede iniciar sesión la raíz. En el pasado, /etc/securetty
fue consultado por programas como iniciar sesión directamente, pero ahora PAM maneja eso. Por lo tanto, los cambios /etc/securetty
afectarán cualquier cosa que use PAM con un archivo de configuración que use pam_securetty.so. Por lo tanto, solo el programa de inicio de sesión se ve afectado por defecto. /etc/pam.d/login
se usa para inicios de sesión locales y /etc/pam.d/remote
se usa para inicios de sesión remotos (como telnet).
Los tipos de entrada principales y sus efectos son los siguientes:
- Si
/etc/securetty
no existe, la raíz puede iniciar sesión desde cualquier tty
- Si
/etc/securetty
existe y está vacío, el acceso raíz estará restringido al modo de usuario único o programas que no estén restringidos por pam_securetty (es decir, su, sudo, ssh, scp, sftp)
- si está utilizando devfs (un sistema de archivos obsoleto para el manejo / desarrollo), agregar entradas con el formato vc / [0-9] * permitirá el inicio de sesión raíz desde el número de consola virtual dado
- si está utilizando udev (para la administración dinámica de dispositivos y el reemplazo de devfs), agregar entradas de la forma tty [0-9] * permitirá el inicio de sesión raíz desde el número de consola virtual dado
- listar la consola en securetty, normalmente no tiene efecto ya que / dev / console apunta a la consola actual y normalmente solo se usa como el nombre de archivo tty en modo de usuario único, que no se ve afectado por
/etc/securetty
- agregar entradas como pts / [0-9] * permitirá que los programas que usan pseudo-terminales (pty) y pam_securetty inicien sesión en la raíz, suponiendo que pty asignado sea uno de los listados; normalmente es una buena idea no incluir estas entradas porque es un riesgo de seguridad; permitiría, por ejemplo, que alguien inicie sesión en la raíz a través de telenet, que envía contraseñas en texto sin formato (tenga en cuenta que pts / [0-9] * es el formato para udev que se usa en RHEL 5.5; será diferente si usa devfs o alguna otra forma de gestión de dispositivos)
Para el modo de usuario único, /etc/securetty
no se consulta porque se usa sulogin en lugar de iniciar sesión. Consulte la página de manual de sulogin para obtener más información. También puede cambiar el programa de inicio de sesión utilizado /etc/inittab
para cada nivel de ejecución.
Tenga en cuenta que no debe usar /etc/securetty
para controlar los inicios de sesión de raíz a través de ssh. Para hacer eso, cambie el valor de PermitRootLogin en /etc/ssh/sshd_config
. Por defecto /etc/pam.d/sshd
no está configurado para consultar pam_securetty (y por lo tanto /etc/securetty
). Puede agregar una línea para hacerlo, pero ssh no establece el tty real hasta algún momento después de la etapa de autenticación, por lo que no funciona como se esperaba. Durante las etapas de autenticación y cuenta, al menos para openssh, el tty (PAM_TTY) está codificado en "ssh".
La respuesta anterior se basa en RHEL 5.5. Gran parte se referirá a las distribuciones actuales de otros sistemas * nix, pero hay diferencias, algunas de las cuales noté, pero no todas.
Yo mismo respondí esto porque las otras respuestas eran incompletas y / o inexactas. Muchos otros foros, blogs, etc. en línea también tienen información inexacta e incompleta sobre este tema, por lo que he realizado una amplia investigación y pruebas para intentar obtener los detalles correctos. Si algo de lo que he dicho está mal, házmelo saber.
Fuentes: