Não, você não deveria, porque se você precisar usar a conta root (como às vezes é o caso, mesmo em Macs) para solução de problemas ou recuperação, não é possível.
Você deve , no entanto, definir a senha do root:
$ sudo passwd root
Para impedir o abuso da máquina da conta root (no meu macOS, usuário único), devo sempre definir o root shell como /usr/bin/false (ou /sbin/nologin )?
Por exemplo, eu deveria 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 )?
Não, você não deveria, porque se você precisar usar a conta root (como às vezes é o caso, mesmo em Macs) para solução de problemas ou recuperação, não é possível.
Você deve , no entanto, definir a senha do root:
$ sudo passwd root
Se você definir o shell de raiz conforme descrito, não poderá efetuar login nem su - na raiz. Você, no entanto, ainda usa sudo ou mesmo su (sem o menos).
Desativar o login root geralmente é uma boa medida de segurança. Você deve, no entanto, certificar-se de que você 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 contas normais não funcionam (por exemplo, na maioria dos sistemas Unix, o diretório raiz não está no diretório inicial normal do usuário, mas na unidade do sistema). / p>
Provavelmente você 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 sair do problema e você pode desativar com segurança o login da raiz.
Se não, torna-se uma questão de qual morte você quer morrer. Decida você mesmo o que é mais provável - alguém que está abusando da sua conta root ou que esteja com defeito no seu sistema a ponto de precisar dessa conta root.
Você não precisa da conta root ativada para executar operações diárias no macOS. E mesmo sem uma conta root habilitada e seu shell definido como /usr/bin/false , você ainda poderá usar sudo (e por root shells sudo -s ) sem problemas.
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.