Como posso saber se minha senha está definida?


18

Uso este servidor há alguns meses. No início, enviei ao administrador minha chave pública ssh, e ele configurou a conta para mim, e só usei a chave ssh para efetuar login. Definitivamente, não tinha uma senha a princípio.

Desde então, eu posso ou não ter configurado uma senha usando passwd. Agora, se eu usar passwd, vejo isso.

$ passwd
Changing password for user myusername.
Changing password for myusername.
(current) UNIX password:

Embora pareça sugerir que eu tenho uma senha, não tenho memória de fazer isso.

Como posso saber conclusivamente se minha senha está definida?

EDIT:
Não consigo fazer login nem alterar a senha, porque não sei qual é a senha (a senha em branco não funciona). A distribuição é a versão 20 do Fedora (Heisenbug).


Tente fazer login sem senha (e sem sua chave privada ssh, é claro).
— didierc

Não consigo fazer login porque não sei a senha e o espaço em branco não funciona. Eu adicionei esta informação na pergunta original.
— cat cat teto

11
Em um console de login, uma senha em branco é igual a nenhuma senha.
— Didierc

Você receberá essa solicitação de senha, mesmo que não haja uma senha configurada para a conta. Se nenhuma senha estiver configurada, passwdvocê reclamará de uma senha errada, não importa o que você digitar.
— Gilles 'SO- stop be evil'

Eu verifiquei que em um Fedora 20 baunilha usando senhas shadow locais, passwdnão solicitará sua senha atual se você não tiver uma. Outra maneira de verificar é digitar su myusername; se não houver senha, ela não solicitará uma. Mas tudo isso pode ser substituído pelo administrador do sistema, por exemplo, removendo a nullokopção das pam_unixentradas /etc/pam.d/*, caso em que um não administrador não pode dizer quem possui senhas e quem não possui, exceto, talvez, fazendo testes de temporização.
— Mark Plotnick

Respostas:


30

A melhor maneira é com o seguinte comando:

passwd --status username

Do homem passwd:

Exibir informações de status da conta. As informações de status consistem em 7 campos. O primeiro campo é o nome de login do usuário. O segundo campo indica se a conta de usuário tem uma senha bloqueada (L), não possui senha (NP) ou possui uma senha utilizável (P). O terceiro campo fornece a data da última alteração de senha. Os próximos quatro campos são a idade mínima, idade máxima, período de aviso e período de inatividade da senha. Essas idades são expressas em dias.

Portanto, se o segundo campo de saída for NP, esse usuário não terá uma senha definida.


Eu tenho$ passwd --status Only root can do that.
— teto gato

Nesse caso, tente sudo passwd username --status.
— 21815 jherran

Recebi, $ sudo passwd myusername --status [sudo] password for myusername:mas como não sei minha senha, não posso continuar.
— cat cat teto

Testei meu comando original e deveria funcionar bem com um usuário recém-criado sem permissões especiais: $ passwd --status testretornos test P 02/15/2015 0 99999 7 -1.
— 21415 jerran

Esquisito. Eu estou querendo saber se o administrador configurou de uma maneira não padrão.
— gato do teto

4

Você pode testar isso de duas maneiras fáceis.

  1. Logo após você alterar a senha, como tipo raiz login, que o levará a um prompt de login / senha.

  2. Dependendo das probabilidades do seu sistema, você está usando senhas-sombra. O arquivo para esse arquivo está em. /etc/shawdowVocê pode procurar nesse arquivo para ver se sua conta possui alguma alteração.

Aqui está um exemplo com uma conta sem um conjunto de senhas:

postgres: :16462:0:99999:7:::

Aqui está a aparência de um usuário com uma senha:

dustin:$6$TQ8e8o92$T9KWfcEVeIpDytW/zSAZzM4512wd/DiiuaYwrYWheH3LYpOsISdRxrCLvPqJZZ66QqdetmaV0ALQohx8nQPFKK0:16425:0:99999:7:::

Aviso entre a : :senha criptografada e a conta do postgres não tinha nada


Para o número 1, não consigo alterar a senha, porque não sei qual é a senha. Se eu colocar em branco, ele diz passwd: Authentication token manipulation error. Para o # 2, eu não tenho /etc/shawdow. Existe /etc/shadow, mas a permissão é 000. (não tenho certeza se isso importa) Eu esqueci de mencionar que tenho o Fedora versão 20 (Heisenbug). Provavelmente deveria ter colocado essas informações na pergunta original.
— teto cat

Seu erro de token costuma vir de permissões erradas. Você está no modo de usuário único? Quando você inicializou, era uma inicialização normal? Também o tipo de verificação apenas "montar" você quer certificar-se de cada coisa é montado como rw (ler e escrever)
— Dustin Hargrove

Além disso, essa é uma permissão errada, que distro é essa?
— Dustin Hargrove

Eu não acho que o servidor esteja no modo de usuário único. Ainda consigo fazer login usando credenciais ssh e posso ver outros usuários com who. Tudo o que mountestá listado é listado como rw. Distro é a versão 20 do Fedora (Heisenbug).
— gato do teto

1

Tente usar o seguinte:

passwd -S

Na página do manual passwd (1), lemos:

-S Relate o status da senha na conta nomeada. A primeira parte indica se a conta de usuário está bloqueada (LK), não possui senha (NP) ou possui uma senha existente ou bloqueada (PS). A segunda parte fornece a data da última alteração de senha. As próximas partes são a idade mínima, a idade máxima, o período de aviso e o período de inatividade da senha.


0

Você pode querer ver o arquivo / etc / passwd. O segundo campo do seu usuário indica a senha. Se não houver nada, você pode não ter senha para o seu login. Por outro lado, se você tem um x nesse campo, você tem uma senha associada e ela pode estar no arquivo / etc / shadow


Obrigado! Existe um x. Eu acho que tenho uma senha. No /etc/shadowentanto, não há arquivo.
— cat cat teto

11
@ceilingcat Se você vir um x, isso não diz nada sobre se uma senha está definida. Você precisa procurar /etc/shadow(o que requer ser root).
— Gilles 'SO- stop be evil'
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.