Devo sempre configurar o shell root para / usr / bin / false?

4

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 )?

    
por orome 01.12.2017 / 18:33

3 respostas

10

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
    
por 01.12.2017 / 18:34
3

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.

    
por 01.12.2017 / 20:06
1

Operações do dia a dia

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.

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.

    
por 02.12.2017 / 15:22