su
pede a senha do root. Como o Ubuntu não define uma senha root por padrão, você não pode usá-la para se tornar root.
Em vez disso, para se tornar root, use sudo -i
com sua senha pessoal.
Estou tendo problemas com o comando su. Eu sei minha senha e estou digitando corretamente, mas su
indica falha de autenticação.
Então eu verifiquei na internet e, em seguida, entrei no modo de recuperação e mudei a senha do meu nome de usuário para o que eu estava inserindo antes.
Mesmo agora, digitar a mesma senha em su
me dá falha de autenticação.
Por favor, sugira o que estou fazendo errado ??
su
pede a senha do root. Como o Ubuntu não define uma senha root por padrão, você não pode usá-la para se tornar root.
Em vez disso, para se tornar root, use sudo -i
com sua senha pessoal.
su
pede a senha da conta que você está tentando fazer login. É uso (simplificado):
su username
Ao omitir username
, o nome de usuário é padronizado como root
. Como a senha de root está desabilitada por padrão no Ubuntu, nenhuma senha será válida. A maneira preferida de executar comandos raiz não é através de um su shell, mas com sudo como em:
sudo mount /dev/sdb1 /mnt
A conta root
no Ubuntu está desabilitada por padrão. Isso quer dizer que não tem senha (o que é diferente de ter uma senha blank ) e nenhuma tentativa de autenticação com a senha do root será bem-sucedida. Portanto, su
ou su -
não funcionará.
Em vez disso, use sudo
para executar um comando como root:
sudo command...
Se você quiser um shell de root como você obtém com su
, execute:
sudo -s
Se você quiser um shell de root como você obtém com su -
, execute:
sudo -i
su
pede a senha do root.
Você pode definir uma senha root enquanto estiver root (dando sudo su
, desde que esteja no arquivo sudoers
), dando o comando passwd
e definindo uma nova senha.
Isso não é recomendado por vários motivos.
No meu caso, foi porque a entrada para esse usuário estava faltando em /etc/shadow
.
Eu tinha copiado para outro servidor de teste todas as entradas em /etc/passwd
com ID maior que 1000, juntamente com /etc/group
, mas esqueci /etc/shadow
. Então toda vez que eu fiz su
com qualquer um desses usuários eu teria esse erro. Depois de adicionar a entrada ausente em /etc/shadow
, o erro deixaria de aparecer.
Por exemplo, /etc/shadow
:
myusername:*:16992:0:99999:7:::
Me deparei com um sistema operacional, o Minibian, em que o bit setuid estava ausente de /bin/su
, causando esse erro, mesmo se a senha da conta raiz estivesse ativada.
No Linux, a única maneira de se tornar root é executar um arquivo de raiz setuid. Quando você executa sudo
ou su
, seu bit setuid é setado, então o usuário efetivo do processo se torna root, então eles fazem a autenticação já como root! Se falhar, eles saem.
Enfim, aqui estão os sintomas e a correção:
$ su
Password:
su: authentication failure
$ sudo su
# ls -l /bin/su
-rwxr-xr-x 1 root root 31092 Jun 5 2012 /bin/su
# chmod u+s /bin/su
# ls -l /bin/su
-rwsr-xr-x 1 root root 31092 Jun 5 2012 /bin/su
Observe a diferença: rwx
antes, rws
depois.
quando você precisar fazer o login como um dos seus ID de usuário que não fazem login, diga git
(não tem pwd)
su - git
Password:
su: Authentication failure
SOLUÇÃO - use esta sintaxe para fazer o login como userid git
sudo su - git