
Para evitar o abuso da máquina da conta root (no meu macOS, usuário único), devo sempre definir o root
shell para /usr/bin/false
(ou/sbin/nologin
)?
Por exemplo, devo sempre:
sudo /usr/bin/dscl . -create /Users/root UserShell /usr/bin/false
ou existem razões comuns para não fazer isso (além doóbvio e evitável)?
Responder1
Não, você não deveria, porque então se vocêprecisarpara usar a root
conta (como às vezes acontece, mesmo em Macs) para solução de problemas ou recuperação, você não pode.
Vocêdeve, no entanto, defina a senha root:
$ sudo passwd root
Responder2
Se você definir o shell root conforme descrito, não poderá fazer login ou su -
fazer root. Você pode, no entanto, ainda usar sudo
ou até mesmo su
(sem o sinal de menos).
Desabilitar o login root geralmente é uma boa medida de segurança. Você deve, no entanto, certificar-se de que pode acessar a máquina de alguma outra forma em caso de falha do sistema. Quando o sistema se comporta de maneira estranha, o login root ainda pode funcionar quando as contas normais não funcionam (isto é, por exemplo, por que na maioria dos sistemas Unix o diretório inicial raiz não está no diretório inicial normal do usuário, mas na unidade do sistema).
Você provavelmente ainda pode inicializar no modo de usuário único, mas não tenho 100% de certeza sobre isso com as versões atuais do MacOS, você deve verificar. Se isso ainda for possível, mesmo com um shell sem login, esta é a sua maneira de evitar problemas e você pode desabilitar o login root com segurança.
Caso contrário, torna-se uma questão de qual morte você deseja morrer. Decida por si mesmo o que é mais provável - alguém abusando de sua conta root ou seu sistema funcionando mal a ponto de você precisar dessa conta root.
Responder3
Operações do dia-a-dia
Você não precisa da root
conta habilitada para realizar operações diárias no macOS. E mesmo sem uma conta root habilitada e seu shell configurado para /usr/bin/false
você ainda poderá usar sudo
(e para root
shells sudo -s
) sem problemas.
modo de usuário único
O modo de usuário único usa /private/etc/passwd para autenticação de login, não Open Directory:
pse@Mithos:~$ grep ^root: /etc/passwd
root:*:0:0:System Administrator:/var/root:/bin/sh
mas
pse@Mithos:~$ sudo dscl . -read /Users/root UserShell
UserShell: /usr/bin/false
Portanto, não haverá consequências negativas no modo de usuário único.