fbpx

Comandos Linux – Comando passwd

Comando passwd do Linux

Sobre passwd

Em sistemas operacionais do tipo Unix, o comando passwd é usado para alterar a senha de uma conta de usuário. Um usuário normal pode executar o passwd para alterar sua própria senha e um administrador do sistema (o superusuário ) pode usar o passwd para alterar a senha de outro usuário ou definir como a senha dessa conta pode ser usada ou alterada.

Este documento cobre a versão Linux do passwd .

Descrição

O comando passwd altera senhas para contas de usuário . Um usuário normal só pode alterar a senha da sua própria conta, mas o superusuário pode alterar a senha de qualquer conta. O passwd também pode alterar ou redefinir o período de validade da conta – quanto tempo pode passar antes que a senha expire e precise ser alterada.

Antes que um usuário normal possa alterar sua própria senha, ele deve primeiro inserir sua senha atual para verificação. (O superusuário pode ignorar esta etapa ao alterar a senha de outro usuário.)

Após a verificação da senha atual, o passwd verifica se o usuário pode alterar sua senha no momento. Caso contrário, o passwd se recusa a continuar e sai.

Caso contrário, o usuário será solicitado duas vezes por uma senha de substituição. As duas entradas devem corresponder para que a senha continue.

Em seguida, a senha é testada quanto à complexidade. Como orientação geral, as senhas devem consistir em pelo menos 6 caracteres , incluindo um ou mais de cada um dos seguintes itens:

  • minúsculas letras
  • dígitos de 0 a 9
  • sinais de pontuação

Sintaxe

senha [ OPTION ] [ USER ]

Opções

As seguintes opções mudarão a maneira como o passwd opera:

-a , –allQuando usada com -S (veja abaixo), esta opção mostra o status da senha para todos os usuários. Esta opção não funcionará se usada sem -S .
-d , –deleteExclua a senha de um usuário (deixe-a vazia). Essa opção é uma maneira rápida de desativar logins de uma conta, sem desativar a própria conta.
-e , –expireExpirar imediatamente a senha de uma conta. Isso força um usuário a alterar sua senha na próxima vez que efetuar login.
-h , –helpExiba informações sobre como usar o comando passwd .
-i , –inactive INACTIVEEsta opção é usada para desativar uma conta depois que a senha expirar por alguns dias. Depois que uma conta de usuário tiver uma senha expirada por dias inteiros INATIVOS , o usuário não poderá mais entrar na conta.
-k , –keep-tokensMantenha tokens de senha. Indica que a senha deste usuário só deve ser alterada se tiver expirado.
-l , –lockBloqueie a senha da conta nomeada. Essa opção desativa uma senha, alterando-a para um valor que não corresponda a nenhum valor criptografado possível. Isso é feito adicionando um caractere no início da senha criptografada.

Observe que isso não desativa a conta. O usuário ainda poderá fazer login usando outro método de autenticação (uma chave SSH , por exemplo). Para desativar a conta, o superusuário pode usar o comando usermod com a opção –expiredate 1 . Essa opção definirá a data de validade da conta para uma data anterior – ou seja, 2 de janeiro de 1970.

Usuários com uma senha bloqueada não têm permissão para alterar sua senha.

-n , –dias MIN_DAYSDefina o número mínimo de dias entre as alterações de senha como MIN_DAYS . Um valor zero para este campo indica que o usuário pode alterar sua senha a qualquer momento.
-q , –quietModo silencioso; O passwd funcionará sem exibir nenhuma saída.
-R , –root CHROOT_DIRPara usuários avançados: esta opção aplicará alterações no diretório chroot CHROOT_DIR e usará os arquivos de configuração do diretório CHROOT_DIR .
-S , –statusExibir informações de status da conta. As informações de status consistem em 7 campos:

  1. O nome de login do usuário
  2. usabilidade da senha: L se a conta tiver uma senha bloqueada, NP se a conta não tiver uma senha ou P se a conta tiver uma senha utilizável
  3. data da última alteração de senha
  4. idade mínima da senha
  5. idade máxima da senha
  6. período de aviso de senha
  7. período de inatividade da senha

Nos campos 4 a 7, as idades das senhas são expressas em dias.

A especificação de -a além de -S exibe o status da senha para todos os usuários.

-u , –unlockDesbloqueie a senha da conta nomeada. Esta opção reativa uma senha alterando-a novamente para seu valor antes que a opção -l fosse usada para bloqueá-la.
-w , –manuais WARN_DAYSDefina o número de dias de aviso antes que uma alteração de senha seja necessária. WARN_DAYS é o número de dias antes da expiração da senha que avisa o usuário que sua senha está prestes a expirar.
-x , –maxdays MAX_DAYSDefina o número máximo de dias em que uma senha permanece válida. Após MAX_DAYS , a senha deve ser alterada.

Notas

A complexidade da senha varia de acordo com o sistema. Consulte a documentação do sistema operacional para obter as regras de complexidade padrão e como alterá-las.

Em sistemas que usam NIS (Network Information Services), os usuários podem não conseguir alterar sua senha se não estiverem conectados ao servidor NIS.

Arquivos usados ​​pelo passwd

/ etc / passwdInformações da conta do usuário.
/ etc / shadowProteja as informações da conta do usuário.
/etc/pam.d/passwdConfiguração de PAM para passwd .

Exemplos

Mude sua senha

passwd

Correndo passwd sem opções irá alterar a senha da conta da execução do comando. Primeiro, você será solicitado a inserir a senha atual da conta:

senha atual do UNIX:

Se estiver correto, você será solicitado a inserir uma nova senha:

Digite a nova senha do UNIX:

… e para inserir a mesma senha novamente, para verificar:

Digite novamente a nova senha UNIX:

Se as senhas corresponderem, a senha será alterada.

Alterar a senha de outro usuário

sudo passwd jeff

Se você tiver privilégios de superusuário, poderá alterar a senha de outro usuário. Aqui, prefixamos o comando com sudo para executá-lo como superusuário. Este comando alterará a senha do usuário jeff . Você não será solicitado a fornecer a senha atual de jeff .

Altere sua senha sem saber sua senha atual

Se você precisar alterar sua senha porque a esqueceu, será necessário fazer login na conta raiz . Para fazer isso, você precisará saber a senha do usuário root .

Digamos que seu nome de usuário seja sally e você não se lembra da sua senha. No entanto, você tem acesso de administrador ao sistema: é possível efetuar login como root , usando a senha dessa conta. Efetue login como raiz e, na linha de comando, execute:

passly sally

Mas e se você esqueceu a senha do root também? Nesse caso, você precisará fazer login na máquina no modo de usuário único, também conhecido como Nível de Execução 1 . Isso não pode ser feito pela rede; portanto, você precisará de acesso físico à máquina para inicializar neste nível de execução.

Reinicie a máquina. Quando estiver inicializando, você deverá receber um menu do gerenciador de inicialização . Em muitos sistemas, como Debian ou Ubuntu , o menu de inicialização incluirá uma opção para “Recovery Mode” ou “Single User Mode” (como na imagem abaixo). Selecione esta opção de inicialização.

Para inicializar no modo de usuário único, selecione Modo de recuperação no menu de inicialização.

Essa opção inicializa você no modo somente texto e efetua login como root.

Se você precisar montar / , faça o seguinte:

mount -rw -o remount /

Agora mude a senha de sally :

passly sally

Ou raiz :

passwd

Quando terminar, reinicie o sistema:

shutdown -r now

Inicie o sistema normalmente, e você deve ser capaz de login como Sally com a nova senha.

Exemplos adicionais

sudo passwd -S ted

Verifique o status da senha do usuário chamado ted . A saída será semelhante ao seguinte:

P 13/13/2014 2 365 7 28

Aqui, vemos o nome do usuário ( ted ), seguido de um P , indicando que sua senha é atualmente válida e utilizável. A senha expirará em 5 de maio de 2014 . Ted não pode alterar sua senha com mais frequência a cada dois dias e deve alterar a senha a cada 365 dias. Ele será avisado 7 dias antes da alteração de senha necessária e, se permitir que sua senha expire, sua conta será desativada 28 dias depois.

sudo passwd -S -a

Semelhante ao comando acima, mas verifica o status da senha para todas as contas de usuário, em todo o sistema.

sudo passwd -l jane

Bloqueie a senha do usuário Jane . Ela não poderá fazer login até que um administrador do sistema a desbloqueie.

sudo passwd -u jane

Desbloqueie a senha de Jane . Ele será redefinido automaticamente para o que era antes de ser bloqueado e ela poderá fazer login novamente.

sudo passwd -e alan

Expirar a senha de Alan . Na próxima vez que ele fizer login, ele precisará definir uma nova senha.

chfn – altera as informações do dedo de um usuário.
finger – Relaciona informações sobre um usuário.
login – Inicia uma sessão em um sistema.
nispasswd – altera as informações da senha do NIS +.
nistbladm – Administra tabelas NIS +.
useradd – Adicione um usuário ao sistema.
vipw – Edite com segurança o arquivo de senha.
yppasswd – Altere uma senha de rede em um banco de dados NIS.

21 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900

Copyright © Linux Force Security  - Desde 2011.