Verifique a senha do usuário atual, mesmo quando for root

Verifique a senha do usuário atual, mesmo quando for root

Existe um comando simples para verificar a senha do usuário atual? O comando

$ su -c true $(id -nu)

é suficiente para usuários não root. No entanto, um usuário root não precisa verificar sua identidade ao usar o su.

Existe um comando alternativo com o qual um usuário root pode verificar com segurança e simplicidade se a senha root que ele lembra ainda está correta?

Eu uso uma distribuição Linux para desktop, Arch Linux para ser específico.

Responder1

Uma das soluções possíveis seria mudar temporariamente para um usuário interativo não-root e depois mudar para root e efetuar logout novamente no shell root assim ( $SHLVLnão será modificado):

# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),17(audio)
# su user -c 'su root -c exit' # type an incorrect password
Password:
su: Authentication failure
# echo $?
1
# su user -c 'su root -c exit' # type a correct password
Password:
# echo $?
0
#

Testado com sushadow-4.2.1 no Slackware Linux e com suFreeBSD.

informação relacionada