Como alterar as senhas da conta no Linux

Uma janela de terminal em um sistema Linux.
Fatmawati Achmad Zaenuri / Shutterstock

As senhas têm sido a pedra angular da segurança da conta por 60 anos, anteriores ao Unix em quase uma década. Aprenda a usar a linha de comando ou o ambiente de área de trabalho GNOME para gerenciar suas senhas no Linux.

Como escolher uma senha forte

A senha do computador nasceu da necessidade. Com o advento dos sistemas de computador de compartilhamento de tempo multiusuário , a importância de separar e proteger os dados das pessoas tornou-se evidente, e a senha resolveu esse problema.

As senhas ainda são a forma mais comum de autenticação de conta. A autenticação de dois fatores e multifatoriais aprimora a proteção por senha, e a autenticação biométrica fornece um método alternativo de identificação. No entanto, a boa e velha senha ainda está conosco e continuará por muito tempo. Isso significa que você precisa saber a melhor forma de criá-los e usá-los. Algumas das práticas mais antigas não são mais válidas.

Aqui estão algumas regras básicas de senha:

  • Não use senhas : use frases-senha. Três ou quatro palavras não relacionadas conectadas por pontuação, símbolos ou números tornam muito mais difícil de decifrar do que uma string de gobbledygook ou uma senha com vogais trocadas por números .
  • Não reutilize senhas : Não faça isso no mesmo sistema ou em sistemas diferentes.
  • Não compartilhe suas senhas : as senhas são privadas. Não os compartilhe com outras pessoas.
  • Não baseie as senhas em informações pessoalmente significativas : não use nomes de familiares, times esportivos, bandas favoritas ou qualquer outra coisa que possa ser socialmente projetada ou deduzida de sua mídia social.
  • Não use senhas padrão : não baseie as senhas em padrões ou posições de chaves, como qwerty, 1q2w3e e assim por diante.

As políticas de expiração de senha não são mais as melhores práticas. Se você adotar senhas fortes e seguras, só terá que alterá-las se suspeitar que foram comprometidas. Mudanças regulares de senha inadvertidamente promovem escolhas ruins de senha porque muitas pessoas usam uma senha básica e apenas adicionam uma data ou dígito ao final dela.

Instituto Nacional de Padrões e Tecnologia escreveu extensivamente sobre senhas e identificação e autenticação de usuários. Seus comentários estão disponíveis publicamente na  Publicação Especial 800-63-3: Diretrizes de Autenticação Digital .

Recomendado:  Como fazer upgrade do Windows 7 para o Linux

O arquivo passwd

Historicamente, os sistemas operacionais do tipo Unix armazenavam senhas, junto com outras informações sobre cada conta, no arquivo “/ etc / passwd”. Hoje, o arquivo “/ etc / passwd” ainda contém informações da conta, mas as senhas criptografadas são mantidas no arquivo “/ etc / shadow”, que tem acesso restrito. Por outro lado, qualquer pessoa pode consultar o arquivo “/ etc / passwd”.

Para espiar dentro do arquivo “/ etc / passwd”, digite este comando:

menos / etc / passwd

O comando "less / etc / passwd" em uma janela de terminal.

O conteúdo do arquivo é exibido. Vejamos os detalhes dessa conta chamada “mary”.

O conteúdo do arquivo passwd exibido em less em uma janela de terminal.

Cada linha representa uma única conta (ou um programa que possui uma conta de “usuário”). Existem os seguintes sete campos delimitados por dois pontos:

  • Nome de usuário : o nome de login da conta.
  • Senha : Um “x” indica que a senha está armazenada no arquivo / etc / shadow.
  • ID do usuário : o identificador do usuário para esta conta.
  • ID do grupo : o identificador do grupo para esta conta.
  • GECOS : Significa  General Electric Comprehensive Operating Supervisor . Hoje, o  campo GECOS  contém um conjunto de informações delimitadas por vírgulas sobre uma conta. Isso pode incluir itens como o nome completo, o número do quarto ou os números de telefone residencial e comercial de uma pessoa.
  • Home : o caminho para o diretório inicial da conta.
  • Shell : iniciado quando a pessoa efetua login no computador.

Os campos vazios são representados por dois pontos.

A propósito, o fingercomando puxa suas informações do campo GECOS.

dedo maria

O comando "finger mary" em uma janela de terminal.

O arquivo sombra

Para olhar dentro do arquivo “/ etc / shadow”, você deve usar sudo:

sudo less / etc / shadow

O comando "sudo less / etc / shadow" em uma janela de terminal.

O arquivo é exibido. Para cada entrada no arquivo “/ etc / passwd”, deve haver uma entrada correspondente no arquivo “/ etc / shadow”.

O conteúdo do campo de sombra exibido em menos em uma janela de terminal.

Cada linha representa uma única conta e há nove campos delimitados por dois pontos:

  • Nome de usuário : o nome de login da conta.
  • Senha criptografada : a senha criptografada da conta.
  • Última alteração : a data em que a senha foi alterada pela última vez.
  • Dias mínimos : o número mínimo de dias necessários entre as alterações de senha. A pessoa tem que esperar esse número de dias antes de poder alterar sua senha. Se este campo contiver um zero, ele poderá alterar sua senha com a freqüência que desejar.
  • Máximo de dias : o número máximo de dias necessários entre as alterações de senha. Normalmente, este campo contém um número muito grande. O valor definido para “maria” é 99.999 dias, ou seja, mais de 27 anos.
  • Dias de alerta : O número de dias antes da data de expiração da senha para exibir uma mensagem de lembrete.
  • Redefinir bloqueio : depois que uma senha expira, o sistema espera esse número de dias (um período de carência) antes de desabilitar a conta.
  • Data de expiração da conta : a data em que o proprietário da conta não poderá mais fazer login. Se este campo estiver em branco, a conta nunca expira.
  • Campo de reserva : um campo em branco para possível uso futuro.
Recomendado:  Sério sobre como reduzir sua conta de luz? Você precisa de um medidor de watts

Os campos vazios são representados por dois pontos.

Obtendo o campo “Última alteração” como uma data

A época do Unix  começou em 1º de janeiro de 1970. O valor do campo “Última alteração” é 18.209. Este é o número de dias após 1 de janeiro de 1970, a senha da conta “mary” foi alterada.

Use este comando para ver o valor da “Última alteração” como uma data:

data -d "1970-01-01 18209 dias"

O comando 'date -d "1970-01-01 18209 dias"' em uma janela de terminal.

A data é mostrada como meia-noite no dia em que a senha foi alterada pela última vez. Neste exemplo, era 9 de novembro de 2019.

A data da "última alteração da senha" exibida como uma data em uma janela de terminal.

O comando passwd

Você usa o passwdcomando para alterar sua senha e, se tiver sudoprivilégios, as senhas de outras pessoas.

Para alterar sua senha, use o passwdcomando sem parâmetros:

senha

O comando "passwd" sem parâmetros em uma janela de terminal.

Você deve digitar sua senha atual e a nova duas vezes.

Saída do comando "passwd" em uma janela de terminal.

Alterar a senha de outra pessoa

Para alterar a senha de outra conta, você deve usar sudoe fornecer o nome da conta:

sudo passwd mary

O comando "sudo passwd mary" em uma janela de terminal.

Você deve digitar sua senha para verificar se possui privilégios de superusuário. Digite a nova senha da conta e, em seguida, digite-a novamente para confirmar.

Alterar a senha de outro usuário com o comando "passwd" em uma janela de terminal.

Forçar uma mudança de senha

Para forçar alguém a alterar sua senha na próxima vez que ela fizer login, use a -eopção (expirar):

sudo passwd -e mary

O comando "sudo passwd -e mary" em uma janela de terminal.

Você é informado de que a data de expiração da senha foi alterada.

A confirmação "alteração das informações de expiração da senha" em uma janela de terminal.

Na próxima vez que o proprietário da conta “mary” fizer login, ela terá que alterar sua senha:

A janela "Aviso: sua senha expirou".

Bloquear uma conta

Para bloquear uma conta, digite  passwd com a -lopção (bloquear):

sudo passwd -l mary

O comando "sudo passwd -l mary" em uma janela de terminal.

Você é informado de que a data de validade da senha foi alterada.

A mensagem de alteração dos dados de expiração da senha em uma janela de terminal.

O proprietário da conta não poderá mais fazer login no computador com sua senha. Para desbloquear a conta, use a -uopção (desbloquear):

sudo passwd -u mary

O comando "sudo passwd -u mary" em uma janela de terminal.

Novamente, você é informado de que os dados de expiração da senha foram alterados:

Recomendado:  Por que tudo é uma assinatura agora?

A mensagem de alteração dos dados de expiração da senha em uma janela de terminal.

Novamente, o dono da conta não poderá mais fazer login no computador com sua senha. No entanto, ela ainda pode fazer login com um método de autenticação que não exige sua senha, como chaves SSH.

Se você realmente deseja bloquear alguém fora do computador, você precisa expirar a conta.

O comando chage

Não, não há um “n” em chage. Significa “mudança de idade”. Você pode usar o chagecomando para definir uma data de expiração para uma conta inteira .

Vamos dar uma olhada nas configurações atuais da conta “mary”, com a -lopção (listar):

sudo chage -l mary

O comando "sudo chage -l mary" em uma janela de terminal.

A data de expiração da conta é definida como “nunca”.

Saída do comando "chage", mostrando uma data de vencimento da conta "nunca" em uma janela de terminal.

Para alterar a data de expiração, use a -Eopção (expiração). Se você definir como zero, será interpretado como “zero dias desde a época do Unix”, ou seja, 1º de janeiro de 1970.

Digite o seguinte:

sudo chage -E0 mary

O comando "sudo chage -E0 mary" em uma janela de terminal.

Verifique novamente a data de expiração da conta:

sudo chage -l mary

Saída do comando "chage", mostrando uma data de vencimento da conta de "01 de janeiro de 1970" em uma janela de terminal.

Como a data de expiração já passou, essa conta agora está realmente bloqueada, independentemente de qualquer método de autenticação que o proprietário possa usar.

Para restabelecer a conta, use o mesmo comando com -1 como o parâmetro numérico:

sudo chage -E -1 maria

O comando "sudo chage -E -1 mary" em uma janela de terminal.

Digite o seguinte para verificar novamente:

sudo chage -l mary

Saída do comando "chage", mostrando uma data de vencimento da conta "nunca" em uma janela de terminal.

A data de expiração da conta é redefinida para “nunca”.

Mudando a senha de uma conta no GNOME

Ubuntu e muitas outras distribuições de Linux usam GNOME como ambiente de área de trabalho padrão. Você pode usar a caixa de diálogo “Configurações” para alterar a senha de uma conta.

Para fazer isso, no menu do sistema, clique no ícone Configurações.

Clique no ícone Configurações.

Na caixa de diálogo Configurações, clique em “Detalhes” no painel à esquerda e clique em “Usuários”.

Clique em “Usuários” no painel à esquerda.

Clique na conta para a qual deseja alterar a senha; neste exemplo, selecionaremos “Mary Quinn”. Clique na conta e depois em “Desbloquear”.

Clique em “Desbloquear”.

Sua senha será solicitada. Depois de ser autenticado, os detalhes de “Mary” se tornam editáveis. Clique no campo “Senha”.

Clique no campo "Senha".

Na caixa de diálogo “Alterar senha”, clique no botão de opção “Definir uma senha agora”.

Clique no botão de opção "Definir uma senha agora".

Digite a nova senha nos campos “Nova senha” e “Verificar nova senha”.

Digite a nova senha nos campos "Nova senha" e "Verificar nova senha".

Se as entradas de senha corresponderem, o botão “Alterar” ficará verde; clique nele para salvar a nova senha.

Em outros ambientes de área de trabalho, as ferramentas de conta serão semelhantes às do GNOME.

Fique seguro, fique seguro

Por 60 anos, a senha tem sido uma parte essencial da segurança de contas online e não vai desaparecer tão cedo.

É por isso que é importante administrá-los com sabedoria. Se você entender os mecanismos de senhas no Linux e adotar as melhores práticas de senha, manterá seu sistema seguro.