
Para evitar el abuso de la cuenta raíz (en mi máquina macOS, usuario único), ¿debo siempre configurar el root
shell 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 root
cuenta (como suele ser el caso, incluso en Mac) para solucionar problemas o recuperarla, no puede hacerlo.
Tú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 sudo
o 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 root
cuenta habilitada para realizar las operaciones diarias en macOS. E incluso sin una cuenta raíz habilitada y su shell configurado, /usr/bin/false
aún puede usarlo sudo
(y para root
shells 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.