Linux - Como gerenciar a senha do root?

5

Acabamos de implantar um par de servidores Linux. Cada sysadmin terá sua própria conta no servidor (ou seja, jsmith), e se conectará usando SSH com um certificado que será colocado no arquivo "authorized_keys" em seu diretório home. Uma vez conectado no servidor, se eles quiserem emitir um comando elevado, eles farão como:

sudo ifconfig

Eles então digitarão a senha do root.

O que eu gostaria de saber agora são as práticas recomendadas para gerenciar essa senha de root. Devo alterá-lo periodicamente? E como eu compartilho essa nova senha com os administradores de sistema?

** Claro que desabilitará o logon root no SSH.

    
por Jonathan Rioux 29.10.2012 / 14:28

5 respostas

24

Se eles estiverem usando o sudo, ele solicitará a senha e não a senha do root, portanto, nenhuma alteração de senha do root é necessária. Apenas certifique-se de dar a eles privilégios adequados no arquivo / etc / sudoers.

    
por 29.10.2012 / 14:31
6

Você não precisa se preocupar com a senha do root ao usar o sudo. Talvez eu recomende desabilitar a senha do root emitindo

sudo passwd -l root

Embora, antes de fazer isso, verifique se você tem um usuário do sistema relevante com todos os privilégios.

Você sempre pode obter o console do root emitindo

sudo -i

A seguir, um pequeno script que uso para provisionar meus servidores.

#!/bin/bash

set -e

addgroup sysadmin
adduser newuser
usermod -a -G sysadmin newuser
chmod u+w /etc/sudoers
echo "\n# Added by <YOUR-NAME>\n%sysadmin ALL=(ALL) ALL" >> /etc/sudoers
chmod u-w /etc/sudoers
su newuser -c "mkdir /home/newuser/.ssh"
su newuser -c "chmod 0700 /home/newuser/.ssh"
su newuser -c 'echo "<YOUR-SSH-KEY>" >> /home/newuser/.ssh/authorized_keys'
su newuser -c "chmod 0644 /home/newuser/.ssh/authorized_keys"

Você pode modificar se de acordo com suas necessidades. Torná-lo interativo, use um usuário vairable etc.:)

Aproveite!

    
por 29.10.2012 / 18:06
2

Existe uma condição na qual você realmente precisa da senha de root: se um sistema de arquivos falhar no fsck ao inicializar, você será tipicamente solicitado a digitar a senha de root para obter um prompt do shell onde você pode reparar o dano. Nesse ponto, nem contas de usuário regulares nem SSH estarão disponíveis. Se o sysadmin não souber a senha do root, a única outra opção seria inicializar a partir de mídia alternativa.

    
por 29.10.2012 / 20:08
2

De acordo com as práticas recomendadas:

    A conta raiz
  • deve ser definida e alterada pelo menos a cada 3 meses.
  • O login do Ssh com usuário root deve ser proibido

    / etc / ssh / sshd_config comente a seguinte linha:

    PermitRootLogin yes

  • Os administradores de sistema devem fazer login com suas próprias contas e usar o sudo quando forem necessários privilégios escalados.
  • Crie um grupo e coloque todos os usuários sysadmins nele

    groupadd <sysadm_group> e groupmod -A <user1>,<user2> <sysadm_group>

  • edite o arquivo / etc / sudoers.

    visudo

    Adicione na parte inferior: %<sysadm_group> ALL=(ALL) ALL

  • A senha raiz deve ser armazenada em local seguro e usada somente em situações de emergência.

por 02.11.2012 / 11:09
1

Minhas anotações sobre o sudo: (ATENÇÃO - minhas anotações são apenas minha coleção do nosso próprio google. Eu as coloco porque pode ajudar novatos, alunos lentos como eu;) .. se você disser que a informação não é correta , ou apenas uma cópia do wiki, ou plágio, blá, blá, blá, então deixe-me saber através de um comentário, eu ficaria muito feliz em excluir meu post, do que seus votos negativos)

Da página da wiki:

  1. Ao contrário do comando su, os usuários geralmente fornecem sua própria senha ao sudo, em vez da senha raiz.
  2. o sudo é capaz de registrar cada execução de comando. Quando um usuário tenta invocar o sudo sem ser listado no arquivo sudoers, um erro é apresentado ao usuário, indicando que a tentativa foi registrada no log do sistema.
  3. o sudo pode ser configurado para exigir a senha raiz ou nenhuma senha
  4. Este arquivo DEVE ser editado com o comando 'visudo' como root. do wiki - visudo é um utilitário de linha de comando que permite editar o arquivo / etc / sudoers de maneira segura. Ele abre / etc / sudoers, usando a interface do editor vi por padrão (embora isso possa ser alterado definindo a variável de ambiente EDITOR do shell para um editor de texto diferente), evita várias edições simultâneas com bloqueios, executa verificações de integridade e verifica erros de análise.
  5. O comando runas fornece funcionalidade semelhante no Microsoft Windows, mas não pode passar diretórios atuais, variáveis de ambiente ou linhas de comando longas para o filho. E embora suporte a execução do filho como outro usuário, ele não suporta elevação simples. Um su e sudo verdadeiro para o Windows que pode transmitir todas as informações de estado e iniciar o filho como elevado ou como outro usuário (ou ambos) está incluído no shell Hamilton C.
  6. Existem vários frontends para o sudo para uso em um ambiente GUI, especialmente o kdesudo e o gksudo

Da página man:

Para obter uma listagem de arquivos de um diretório ilegível:

% sudo ls / usr / local / protegido

Para listar o diretório inicial do usuário yazza em uma máquina na qual o sistema de arquivos contendo ~ yazza não é exportado como root:

% sudo-uazza ls ~ yazza

Para editar o arquivo index.html como usuário www:

% sudo -u www vi ~ www / htdocs / index.html

Para desligar uma máquina:

% shutdown do sudo -r +15 "reinicialização rápida"

Perguntas frequentes e dicas de solução de problemas

link

    
por 29.10.2012 / 20:24