Em um servidor, um usuário 16040 perdeu sua senha. Tenho senha para root, mas não tenho senha para o usuário 16040. Como posso redefinir a senha dele?
Com passwd 16040
, o unix me pede a senha atual que eu não tenho. Existe um comando para redefinir a senha de um usuário sem a senha atual?
passwd 16040
Changing password for 16040.
Current password for [email protected]:
# >
é bastante incomum e aqui>
simplesmente convida a ser mal interpretado como parte do comando - a prática comum é usar um simples#
pararoot
shell e$
para não raiz.Se você não conseguir fazer logon diretamente como raiz, tente
sudo /usr/bin/passwd 16040
.sudo -i
e depois/usr/bin/passwd 16040
Estou assumindo que
passwd
está em / usr / bin (você pode verificar com o comandowhich passwd
)fonte
sudo bash
para iniciar umroot
shell é (embora comum)sudo
prática muito, muito ruim . Ésudo -s
ousudo -i
(sem login ou shell de login, resp.). Isso até honra seu conjunto padrão de shell/etc/passwd
sem ter que se preocupar com isso. Além disso,bash
sem um caminho completo, é uma má ideia por si só, pois esse seria um dos primeiros binários falsos que um usuário mal-intencionado colocaria em algum lugar$PATH
.sudo -i
, e por isso modifiquei a resposta ... mas se você falar sobre segurança e a possibilidade de um troiano escondido no$PATH
talvez seja melhor evitar usá-sudo -s
lo, pois você adiciona pelo menos o$USER/bin
diretório e todos os alias que você pode imaginar ... :-)sudo
configuração: a configuração padrão fornecida comsudo
não mantém a$HOME
variável definida, assim você acabaria tendo seus próprios arquivos rc originados, e não$SUDO_USER
os.