¿Debo configurar siempre el shell raíz en /usr/bin/false?

¿Debo configurar siempre el shell raíz en /usr/bin/false?

Para evitar el abuso de la cuenta raíz (en mi máquina macOS, usuario único), ¿debo siempre configurar el rootshell en /usr/bin/false(o/sbin/nologin)?

Por ejemplo, ¿debería siempre:

sudo /usr/bin/dscl . -create /Users/root UserShell /usr/bin/false 

¿O hay razones comunes para no hacerlo (aparte de laobvio y evitable)?

Respuesta1

No, no deberías, porque entonces sinecesidadPara utilizar la rootcuenta (como suele ser el caso, incluso en Mac) para solucionar problemas o recuperarla, no puede hacerlo.

debería, sin embargo, establezca la contraseña de root:

$ sudo passwd root

Respuesta2

Si configura el shell raíz como lo describió, no podrá iniciar sesión ni acceder su -a la raíz. Sin embargo, todavía lo usas sudoo incluso su(sin el signo negativo).

Deshabilitar el inicio de sesión como root suele ser una buena medida de seguridad. Sin embargo, debe asegurarse de poder acceder a la máquina de alguna otra manera en caso de una falla del sistema. Cuando el sistema se comporta de manera extraña, el inicio de sesión raíz aún puede funcionar cuando las cuentas normales no lo hacen (es por eso, por ejemplo, por qué en la mayoría de los sistemas Unix el directorio raíz no está en el directorio principal del usuario normal, sino en la unidad del sistema).

Probablemente aún puedas iniciar en modo de usuario único, pero no estoy 100% seguro de esto con las versiones actuales de MacOS, deberías verificarlo. Si esto todavía es posible incluso con un shell sin inicio de sesión, esta es su manera de salir del problema y puede desactivar de forma segura el inicio de sesión como root.

Si no, se convierte en una cuestión de qué muerte quieres morir. Decida usted mismo qué es más probable: que alguien abuse de su cuenta raíz o que su sistema funcione mal hasta el punto en que necesitaría esa cuenta raíz.

Respuesta3

Operaciones diarias

No necesita la rootcuenta habilitada para realizar las operaciones diarias en macOS. E incluso sin una cuenta raíz habilitada y su shell configurado, /usr/bin/falseaún puede usarlo sudo(y para rootshells sudo -s) sin problemas.

modo de usuario único

El modo de usuario único utiliza /private/etc/passwd para la autenticación de inicio de sesión, no Open Directory:

pse@Mithos:~$ grep ^root: /etc/passwd 
root:*:0:0:System Administrator:/var/root:/bin/sh

pero

pse@Mithos:~$ sudo dscl . -read /Users/root UserShell
UserShell: /usr/bin/false

Por lo tanto, no habrá consecuencias negativas en el modo de usuario único.

información relacionada