Existe uma senha de root no OS X e no Ubuntu?

13

Quando você configura uma nova instalação do Ubuntu ou OS X, um usuário geralmente é criado para você. No OS X, é qualquer nome de usuário que você escolher. No Ubuntu (a versão do servidor) normalmente é criado o usuário ubuntu .

Do jeito que eu entendo, há também um usuário root, que você pode acessar por meio de algo como sudo su - root , e digitando a senha do ubuntu ou do usuário que você criou, que faz parte do grupo de administradores. Depois de mudar para root , acho que você pode usar o comando passwd e alterar a senha do root.

Mas qual foi a senha de root antes disso? Existe? É uma seqüência aleatória de números e letras? Como o sistema lida com isso?

    
por cwd 03.12.2011 / 20:54

6 respostas

12

Eu posso responder apenas para o Ubuntu.
No Ubuntu, o usuário root tem uma senha bloqueada. De passwd man page:

   -l, --lock
           Lock the password of the named account. This option disables a 
           password by changing it to a value which matches no possible 
           encrypted value (it adds a '!' at the beginning of the password).

Você pode ver o ! em /etc/shadow .

Um usuário com uma conta bloqueada não pode alterar sua senha, mas root pode, sem inserir previamente a senha antiga.

    
por 03.12.2011 / 21:03
10

Veja como desbloquear (?) ou criar um usuário root real no OSX:

  1. Preferências do sistema
  2. Usuários e amp; Grupos
  3. Opções de login (clique em bloquear e autenticar aqui)
  4. Clique em "Associar" (NAS)
  5. Abra o Utilitário de Diretório
  6. Clique no bloqueio (autentique novamente)
  7. menu Editar - > ativar usuário root
  8. (menu Editar - > alterar senha do root)

Aproveite!

    
por 04.12.2011 / 03:39
7

Como a enzotib disse, o Ubuntu tem uma conta root, mas está bloqueada por padrão.

Agora, sobre Macs:

Como você provavelmente pode imaginar, o root (juntamente com todas as contas do daemon) não aparece na seção "Usuários e grupos" das Configurações.

Olhando para o /etc/passwd do meu Mac, há uma entrada para root , junto com uma mensagem

Note that this file is consulted directly only when the system is running
in single-user mode.  At other times this information is provided by 
Open Directory.

Eu tentei encontrar a lista de usuários do Open Directory, sem sucesso, mas nas configurações houve menções de explicitamente dando permissões de root, mesmo que elas estejam implícitas. Eu nunca fui solicitado por uma senha de root quando eu configurei a máquina pela primeira vez, então eu acho que a conta root está bloqueada como no ubuntu. Eu não fiz (e realmente não quero) tentar dar uma senha ao root e fazer o login, mas você provavelmente poderia.

A linha de senha:

root:*:0:0:System Administrator:/var/root:/bin/sh

O comando perl do comentário de keith adiciona um :0 ao final. Nenhum hash de senha. Não há nenhum arquivo-sombra que eu possa encontrar, não consegui encontrá-los em lugar algum para verificar se o root pode ter uma senha.

    
por 03.12.2011 / 21:40
7

A senha de root no Mac OS X é armazenada (como mencionado por Kevin) no Open Directory. Para confirmar a existência do usuário root, é necessário um simples grep:

$ grep ^root /etc/passwd 
root:*:0:0:System Administrator:/var/root:/bin/sh

Para ler as informações de senha de root do Open Directory:

$ dscl localhost -read /Local/Default/Users/root Password
Password: *
$ dscl localhost -read /Local/Default/Users/root AuthenticationAuthority
No such key: AuthenticationAuthority

No caso padrão (como mostrado), o usuário root não possui um hash de senha (a conta está bloqueada). Você pode comparar essa configuração com o valor em OD para um usuário "normal":

$ dscl localhost -read /Local/Default/Users/normaluser Password
Password: ********
$ dscl localhost -read /Local/Default/Users/normaluser AuthenticationAuthority
AuthenticationAuthority: ;ShadowHash;HASHLIST:<SALTED-SHA512>...#rest of hash data
    
por 04.12.2011 / 18:11
2

O Ubuntu configura uma senha para o usuário nomeado e a utiliza para tarefas de nível de superusuário (root), como instalar e excluir software de todo o sistema e exclusão e execução de diretório e arquivo além de seu diretório pessoal. Uma conta root está, de fato, no lugar, mas sem uma senha atribuída, um pouco escondida. As convenções de uso canônico e do Ubuntu, na verdade, desencorajam você a invocá-lo diretamente.

Configura uma conta de usuário nomeada em vez de configurar uma conta "ubuntu" genérica. Isso é pelo menos o caso com os sistemas instalados. Uma conta "ubuntu" genérica pode estar em vigor se você usar um live CD, não me lembro, não trabalhei com um live CD em alguns anos.

O comportamento no MacOsX é bastante semelhante. Você é solicitado a definir uma senha, que é invocada toda vez que você tenta executar tarefas no nível de superusuário, como instalar ou atualizar o software, mas não há uma conta chamada "root".

    
por 03.12.2011 / 23:42
1

Para o Ubuntu: Por padrão, você pode acessar sua conta de usuário recém-criada.

Para executar qualquer comando como root, você pode usar

sudo command

digite sua senha normal.

A conta root está bloqueada por padrão. Para ativar o root pela linha de comando, basta digitar

sudo passwd

digite a senha do seu usuário logado e, em seguida, novas senhas para o root. Agora você pode logar como root usando su e depois digite a senha do root.

    
por 09.12.2011 / 05:36