Проверить пароль текущего пользователя, даже если он root

Проверить пароль текущего пользователя, даже если он root

Есть ли простая команда для проверки пароля текущего пользователя? Команда

$ su -c true $(id -nu)

достаточно для пользователей без прав root. Однако пользователю root не нужно подтверждать свою личность при использовании su.

Существует ли альтернативная команда, с помощью которой пользователь root может безопасно и просто проверить, что помнящий его пароль root все еще верен?

Я использую дистрибутив Linux для настольных компьютеров, а именно Arch Linux.

решение1

Одним из возможных решений было бы временное переключение на интерактивного пользователя без прав root, а затем переключение на пользователя root и выход обратно в оболочку root следующим образом ( $SHLVLизменений не будет):

# 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
#

Протестировано с sushadow-4.2.1 на Slackware Linux и suна FreeBSD.

Связанный контент