GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es la diferencia entre /sbin/nologin y /bin/false?

Técnicamente, a menos que pam está configurado para verificar su shell con pam_shells ninguno de estos puede evitar su inicio de sesión, si no está en el shell. En mi sistema son incluso de diferentes tamaños, por lo que sospecho que realmente hacen algo. Entonces, ¿cuál es la diferencia? ¿Por qué existen ambos? ¿Por qué usaría uno sobre el otro?

-rwxr-xr-x 1 root root  21K Feb  4 17:01 /bin/false
-rwxr-xr-x 1 root root 4.7K Mar  2 14:59 /sbin/nologin

Respuesta aceptada:

Cuando /sbin/nologin está configurado como shell, si el usuario con ese shell inicia sesión, recibirá un mensaje cortés que dice "Esta cuenta no está disponible actualmente". Este mensaje se puede cambiar con el archivo /etc/nologin.txt .

/bin/false es solo un binario que sale inmediatamente, devolviendo falso, cuando se llama, por lo que cuando alguien que tiene false cuando Shell inicia sesión, se desconectan inmediatamente cuando false salidas Configurando el shell en /bin/true tiene el mismo efecto de no permitir que alguien inicie sesión pero false probablemente se usa como una convención sobre true ya que es mucho mejor para transmitir el concepto de que la persona no tiene caparazón.

Mirando nologin La página del manual dice que se creó en 4.4 BSD (principios de la década de 1990), por lo que llegó mucho después de false fue creado. El uso de false como shell es probablemente solo una convención de los primeros días de UNIX.

nologin es la opción más fácil de usar, con un mensaje personalizable para el usuario que intenta iniciar sesión, por lo que, en teoría, querrá usar eso; pero ambos nologin y false tendrá el mismo resultado final de alguien que no tiene un caparazón y no puede entrar.


Linux
  1. Instalar binarios en /bin, /sbin, /usr/bin y /usr/sbin, interacciones con --prefix y DESTDIR

  2. ¿Cuál es la diferencia entre #!/usr/bin/env bash y #!/usr/bin/bash?

  3. ¿Cuáles son los significados de /usr/sbin, /usr/local/sbin y /usr/local/bin?

  4. ¿Cuál es la diferencia entre /tmp y /run?

  5. #!/bin/sh vs #!/bin/bash para máxima portabilidad

Linux:¿Diferencia entre /dev/console, /dev/tty y /dev/tty0?

¿La diferencia entre /opt y /usr/local?

La diferencia entre '$ . Foo' y '$ ./foo'??

¿Por qué /bin/sh apunta a /bin/dash y no a /bin/bash?

¿Qué es diferente entre /bin/false y /sbin/nologin como shell del usuario nologin?

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions