Trabalhos de autenticação gráfica; Por que o sudo diz que minha senha está errada?

3

Estou tentando instalar um tema, e quando eu insiro o comando sudo cp -r $HOME/Desktop/Overglossed /usr/share/themes o terminal pediu minha sudo senha que eu digitei, no entanto me disseram que minha senha está errada. Qual é o problema aqui? Eu entrei com a mesma senha e não tenho o recurso "cap lock" ou algo assim.

Esta é a primeira vez que utilizo o terminal, por isso, se isto se deve à minha falta de familiaridade com o mesmo, por favor avise-me.

Nem sempre sou impedido de executar tarefas administrativas inserindo minha senha. Eu posso instalar software no Centro de Software, por exemplo, eu instalei o Chrome (que eu usei para trabalhar nesta questão).

    
por Nemo 29.01.2013 / 04:50

3 respostas

8

Primeiro ... Uma solução provável

É provável que você possa contornar este problema até que seja resolvido usando pkexec no lugar de sudo quando você quiser executar um comando como root. Veja " Talvez o sudo esteja quebrado " abaixo para detalhes.

Não é certo que isso funcionará. Caso contrário, uma das outras soluções ou soluções alternativas aqui. Caso contrário, isso provavelmente ainda ajudará a coletar informações sobre o problema, que você pode adicionar à sua pergunta.

(Pessoas com este problema que não seja o autor desta pergunta podem criar uma nova pergunta com informações sobre o que aconteceu quando tentaram as técnicas aqui.)

O básico desta situação

Na maioria das vezes, quando as pessoas relatam que não podem digitar sua senha de maneira eficaz para sudo em um terminal, mas pode autenticar com ele graficamente pelo menos parte do tempo, é porque eles não percebem que nenhum caractere de espaço reservado (como * ) é suposto para aparecer . Aqui, parece que não é o caso. Se você digitou sua senha corretamente e totalmente antes de pressionar Enter , realmente há algum problema.

Para descobrir o que é, mais informações são necessárias. Aqui estão algumas possíveis causas de sudo não aceitar a senha no terminal, mesmo que você possa inseri-la graficamente para instalar o software.

1. Talvez a senha esteja em branco

Sugerido por Bruno Pereira.

Se a sua senha estiver em branco, ou seja, com zero caracteres, isto é, basta pressionar Enter quando for solicitada sua senha, alterá-la para algo que não esteja em branco.

É provável que você possa alterar sua senha nas Configurações do sistema (desde que você possa executar pelo menos algumas tarefas administrativas graficamente). Se isso não funcionar, e você pode instalar o software, você pode instalar o gnome-admin-tools , execute users-admin (outro utilitário gráfico) e altere sua senha dessa maneira.

Se isso não funcionar, tente executar pkexec passwd $USER . ( pkexec solicitará graficamente sua senha se uma GUI estiver disponível e funcionando, mesmo quando usada para executar CLI comandos.)

Se isso não funcionar, tente qualquer um desses métodos ; se isso não funcionar, tente este método .

2. Talvez a senha contenha caracteres estranhos

Se a sua senha contiver caracteres diferentes de numerais (0-9), letras maiúsculas (AZ) e minúsculas (az) sem acentos e pontuação exibidos em um teclado dos EUA / inglês, altere-a para que faz. Se você estiver usando uma localidade diferente, então, para estar seguro, você pode (temporariamente) alterar sua localidade também.

Os espaços normalmente são bons em senhas, mas como você está com problemas, faz sentido tentar sem eles. Eles são relativamente incomuns, então pode haver um bug não descoberto desencadeado por uma combinação de ter uma senha com espaços e alguma outra condição.

3. Talvez a senha seja perfeitamente comum, mas foi armazenada errado

Mesmo que todos os caracteres da sua senha sejam usados com frequência, ainda é uma boa ideia alterar sua senha para ver se ela resolve o problema. Além disso, se você alterar sua senha e não resolver o problema, essa é outra informação importante.

Conversei com pessoas nesta situação, onde a alteração da senha corrigiu o problema, embora não houvesse nada particularmente errado ou estranho nisso originalmente. Eu suspeito que o problema possa ter a ver com a forma como a senha é armazenada, mas pode ser que a causa subjacente seja corrigida coincidentemente definindo a senha, ou que a situação foi (embora repetidamente por pessoas diferentes) relatada incorretamente para mim, ou que Eu não entendi.

4. Talvez você não esteja digitando o que acha que é

Verifique se o layout do seu teclado é o que você acha que é quando coloca sua senha.

5. Talvez o seu terminal esteja interpretando mal a entrada

Talvez a senha que está sendo vista não seja o que você está digitando. Para ver se este é o caso:

  • Digite no terminal quando não estiver digitando sua senha (não "execute", e ainda não diga o que é ).

  • Experimente em um aplicativo de terminal diferente. Você está usando o Terminal; tente xterm. (Pressione Alt + F2 e execute xterm .)

  • Tente em um console virtual . Pressione Ctrl + Alt + F1 e veja se você pode logar. Como quando rodando sudo , é normal você não ver nada acontecendo enquanto você digita sua senha. Basta digitar e pressionar Enter quando terminar.

    Se isso é bem-sucedido ou falha, saber se funcionou fornece informações úteis.

    Em seguida, tente executar sudo .

    Para voltar à GUI, pressione Alt + F7 .

6. Talvez o sudo funcione, mas não quando solicitado pela linha de comando

Para verificar isso, execute gksudo xclock . Você será solicitado graficamente para a sua senha, mas sudo será usado "sob o capô".

Se isso funcionar - ou seja, se um aplicativo de relógio gráfico simples aparecer -, então sudo funciona, mas (supondo que ele também falhou quando você tentou executá-lo em outro aplicativo terminal e em um console virtual), errado com a maneira como está recebendo informações de interfaces de linha de comando.

7. Talvez a autenticação de senha da CLI esteja quebrada

Isso pode ocorrer se houver um problema comum que impede que sudo e outras formas diferentes de solicitar senhas na linha de comando funcionem corretamente.

Execute su $USER -c 'echo Success' . Você será solicitado a fornecer sua senha. Digite-o (novamente, é normal que nada apareça na tela como você faz), pressione Enter e veja se Success aparece.

Se você não conseguiu passar pela autenticação, o problema afeta o sudo baseado em terminal e o su baseado em terminal.

8. Talvez o sudo esteja quebrado

Tente executar um comando com PolicyKit : pkexec echo Success

Uma janela gráfica deve aparecer e pedir sua senha; se a autenticação for bem sucedida, Success aparecerá no terminal.

Se isso funcionar, você tem uma solução alternativa para o problema: use pkexec em vez de sudo .

Se sudo estiver corrompido, você poderá consertá-lo, dependendo de o que está errado com sudo :

8.1. Talvez a instalação esteja desarrumada.

Tente reinstalar sudo com:

pkexec apt-get update && pkexec apt-get --purge --reinstall sudo

Isso pode corrigir uma instalação corrompida ou mal configurada.

8.2. Talvez sudo esteja mal configurado em /etc/sudoers .

Para configurações incorretas relacionadas a falhas de autenticação inexplicáveis de senha, verifique as Defaults linhas em /etc/sudoers executando:

pkexec grep Defaults /etc/sudoers

No Ubuntu, a saída é normalmente:

Defaults    env_reset
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

Se você vir rootpw , runaspw ou targetpw , isso significa que sudo não está necessariamente pedindo a senha .

Isso é particularmente provável se você receber uma solicitação [sudo] password for root: ou [sudo] password for some-other-username em vez de [sudo] password for your-username . Mas vale a pena verificar em qualquer caso (como é fácil verificar).

Mesmo que você não veja nenhum desses três ...pw termos, ainda poderá ver algo errado; Se a saída de pkexec grep Defaults /etc/sudoers não for igual à mostrada acima, você deve verificar isso (por exemplo, você pode incluí-la ao editar sua pergunta para fornecer detalhes sobre o que aconteceu quando você tentou todas essas técnicas).

Se isso não revelar nada, dê uma olhada em /etc/sudoers . Você pode usar pkexec less /etc/sudoers ou abrir o arquivo em um editor com pkexec visudo . Se você não vir nada de errado, recomendo ainda postar o conteúdo do arquivo em sua pergunta.

Se você encontrar um problema em /etc/sudoers e souber o que precisa ser alterado, poderá editá-lo usando pkexec visudo .

8.3. Talvez sudo esteja mal configurado em /etc/sudo.conf .

Normalmente, no Ubuntu, /etc/sudo.conf não existe. E isso é bom - funciona normalmente nessa situação. Se /etc/sudo.conf existir, sudo poderá ser configurado para funcionar de maneira radicalmente diferente. (Ou pode ser configurado para funcionar exatamente da mesma maneira e não tem nada a ver com o seu problema. Ou qualquer coisa entre os dois.)

Se esse arquivo existir, independentemente do conteúdo, forneça seu conteúdo completo.

Se /etc/sudo.conf existir, por padrão as únicas linhas não comentadas (ou seja, as únicas linhas que não começam com # ) são:

Plugin sudoers_policy sudoers.so
Plugin sudoers_io sudoers.so

Isso usa o módulo sudoers para controlar a política de segurança e a interface de sudo . Se qualquer outro módulo é usado, as coisas podem ser bem diferentes, então essa é uma informação muito relevante.

8.4. Talvez este seja um problema do PAM, apresentando-se incomumente.

Isso é meio que estendido, mas talvez sudo esteja configurado para usar módulos de autenticação plugáveis e sua configuração do PAM tenha um problema.

  • Isso é um alongamento, porque geralmente você não é solicitado a inserir uma senha quando isso acontece.

Para verificar, execute:

ls -ld /etc/pam.d
ls -l /etc/pam.d/sudo
cat /etc/pam.d/sudo

O texto no terminal deve ficar assim:

$ ls -ld /etc/pam.d
drwxr-xr-x 2 root root 4096 Jan 16 01:44 /etc/pam.d
$ ls -l /etc/pam.d/sudo
-rw-r--r-- 1 root root 239 May 31  2012 /etc/pam.d/sudo
$ cat /etc/pam.d/sudo
#%PAM-1.0

auth       required   pam_env.so readenv=1 user_readenv=0
auth       required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
@include common-auth
@include common-account
@include common-session-noninteractive

Se algum texto negrito difere de , isso sugere um problema.

Eu recebi esta ideia da página de resolução de problemas sudo (mas essa página é < strong> not sugere que o problema irá acontecer desta forma).

9. Talvez seja algo mais

Talvez nenhuma das situações cubra o seu problema. Ou talvez o problema seja que sudo está quebrado, mas nenhuma das sub-situações para isso se aplica.

Se for esse o caso, não desista! (A menos que você queira.)

Basta fornecer o máximo de informações possível, incluindo o que aconteceu quando você tentou cada técnica ou etapa de diagnóstico. Isso provavelmente lançará luz sobre o problema.

Esta resposta é movida, com pequenas modificações, de esta questão (onde ele realmente não pertence, já que não está claro se o OP realmente tem esse problema). Obrigado ao gertvdijk por me ajudar a reconhecer a ambiguidade e sugerir que isso seja postado em outro lugar. (Ele não é responsável por nenhum erro aqui, no entanto.)

    
por Eliah Kagan 30.01.2013 / 03:03
0

Como solução alternativa, você pode usar gksudo em vez de sudo até que a causa raiz do problema seja resolvida.

    
por totti 30.01.2013 / 17:18
0

sudo também não aceitou minha senha. Foi porque eu adicionei

auth required pam_tally.so per_user magic_root onerr=fail

para o início de /etc/pam.d/common_auth em uma tentativa de criar um atraso de 10 minutos após três tentativas de senha com falha. Remover essa linha resolveu meu problema.

    
por Daniel Pasono 15.08.2016 / 15:28