Como verifico se minha senha root (login) está desativada?


10

Eu habilitei acidentalmente (defini) minha senha root (por padrão ela está bloqueada) e agora quero "desfazê-la". Eu usei os dois comandos

sudo usermod -p '!' root

e

sudo passwd -dl root

naquela ordem.

Como verifico se a conta do root está bloqueada?

Respostas:


18

Você pode usar o passwdcomando:

# passwd -S
root P 11/04/2014 -1 -1 -1 -1
# passwd -l root
passwd: password expiry information changed.
# passwd -S 
root L 11/04/2014 -1 -1 -1 -1
# passwd -d root
passwd: password expiry information changed.
# passwd -S 
root NP 11/04/2014 -1 -1 -1 -1

De man 1 passwd:

   -S, --status
       Display account status information. The status information consists
       of 7 fields. The first field is the user's login name. The second
       field indicates if the user account has a locked password (L), has
       no password (NP), or has a usable password (P). The third field
       gives the date of the last password change. The next four fields
       are the minimum age, maximum age, warning period, and inactivity
       period for the password. These ages are expressed in days.

Os dados mostrados são armazenados no /etc/shadowarquivo que contém as senhas criptografadas.

Por exemplo, após cada um dos passwdcomandos acima , os estados foram:

1:root:$6$............long hash...............::::::
1:root:!$6$........same long hash.............:16478::::::
1:root::16478::::::

5

Uma possibilidade é olhar para / etc / passwd digitando

grep root /etc/passwd

Ele deve mostrar uma linha começando como root:x: ......onde x indica que as senhas criptografadas são armazenadas no arquivo de sombra. Se for esse o caso, analisamos isso executando

sudo grep root /etc/shadow

(necessidades de arquivo sombra sudo para ser aberto!) Você deve obter uma linha que começa como o seguinte, como resultado root:!: ......, onde o !ou um *signalize que a conta está desativada. Qualquer outro valor (que não comece com! Ou *) depois root:indicaria uma senha de trabalho.


obrigado, mas estou me perguntando, existe algum arquivo que contenha essa informação?
Nobru

Pesquisei um pouco e adicionei outra parte à minha resposta, acessando os arquivos em que as senhas estão armazenadas, como você desejou.
Byte Commander

Eu tentei sua primeira sugestão, e está errado, o sudo ainda usa a senha do usuário. Obras parágrafo editado, que é a informação que eu estava procurando
Nobru

fonte dos dados é man passwd.5eman shadow.5
Sergei G

0

Fácil.

Pressione Ctrl + Alt + F1. Isso levará para um terminal separado. Tente fazer login como root digitando rootcomo seu login e fornecendo a senha.

Se a conta raiz estiver ativada, o login funcionará. Se a conta raiz estiver desativada, o login falhará.

Para voltar à sua GUI, pressione Ctrl + Alt + F7.


Você não precisa ir até o TTY para isso. Um simples suservirá.
muru

obrigado, eu tentei e agora está bloqueado. Mas gostaria de saber se existe algum arquivo que eu possa abrir e verificá-lo. Digamos que, hipoteticamente, não me lembre da senha digitada, e não há opção para definir outra com o sudo do usuário, por isso quero verificar se há algum arquivo de login.
Nobru

0

Por padrão, quando você instala o Ubuntu, você não deve saber a senha do root. Existe, mas o usuário não deve saber. Um administrador, é claro, pode optar por alterar a senha, sudo passwdmas geralmente não deve ser necessário, a menos que você saiba o que está fazendo e por que está fazendo.

Um arquivo que contém informações sobre todas as senhas de usuário é /etc/shadow e cada entrada nesse arquivo é criptografada. Portanto, a menos que um invasor tenha acesso ao seu sistema e roubado esse arquivo, ele ou ela não deve conseguir entrar na raiz. Sempre há uma possibilidade, é claro, portanto, sugiro que você desative todos os recursos de acesso remoto: telnet (não ativado por padrão), ssh, área de trabalho remota, etc. Obtenha uma nmapferramenta e faça uma varredura no seu sistema sudo nmap localhostpara ver quais portas podem estar abertas no seu sistema. Além disso, pegue um firewall; O ubuntu vem com o firewall ufw, que é simples de usar e faz o trabalho bem o suficiente.

Entre outros métodos, você pode testar a conta root com sudo -i

No /etc/sudoersarquivo, você deve ter uma linha como esta: sudo -i. Se você não conseguir fazer login como root, não verá o # como prompt, a conta será bloqueada.

Defaults env_reset,timestamp_timeout=30

timestamp_timeout dirá ao sudo para solicitar a senha após 30 segundos novamente, para que você não esteja logado com privilégios de root o tempo todo. É uma das maneiras de proteger seu sistema.

Um efeito colateral adverso da alteração da senha root é que, se você esquecer a senha ou outro usuário em seu sistema esquecer a senha, não terá acesso à raiz. Não conheço nenhuma instância, mas sempre há a possibilidade de atrapalhar o sistema, porque alguns dos processos são executados como root e, se você bloquear uma conta root, existe a possibilidade de que eles não funcionem corretamente.

Eu recomendo fortemente que você leia man sudoers, man passwd,man shadow`.

Boa sorte e espero que isso ajude!


0

comando catch bleow one liner para o relatório de senhas de todos os usuários existentes no linux sever.

for i in $(cat /etc/passwd | awk -F ':' '{print $1}'); do echo "##############" "$i" "############";chage -l $i; echo "##################################"; done | nl | less
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.