Невозможно восстановить утерянный логин

Да, PIPE создает статус выхода; если вам нужен код выхода команды перед PIPE, вы можете использовать $PIPESTATUS

В соответствии с этими вопросами и ответами по переполнению стека, чтобы распечатать статус выхода команды при использовании канала вы можете сделать:

your_command | echo $PIPESTATUS

Или установить pipefail с помощью команды set -o pipefail(чтобы отменить его, выполните set +o pipefail) и используйте $?вместо $PIPESTATUS.

your_command | echo $?

Эти команды работают только после того, как вы запустите их хотя бы один раз; это означает, что PIPESTATUSработает только тогда, когда вы запускаете его после команды с конвейером, например:

command_which_exit_10 | command_which_exit_1
echo "${PIPESTATUS[0]} ${PIPESTATUS[1]}"

Вы получите 10 за ${PIPESTATUS[0]}и 1 за ${PIPESTATUS[1]}. Дополнительную информацию см. в этом вопросе и ответе U&L.

1
11.08.2017, 21:17
1 ответ

Похоже, у вас есть доступ к /etc/shadowв качестве привилегированного пользователя (sudo? ), сделать

sudo passwd root 

Если, с другой стороны, вы редактируете файловую систему на карте MicroSD на другом компьютере, просто отредактируйте пароль root в /etc/shadow. Удалите поле зашифрованного пароля, как в:

root::14610:0:99999:7:::

После этого вы сможете войти в консоль как пользователь root, нажать ENTER при запросе пароля и изменить его после входа в систему с помощью passwd.

5
27.01.2020, 23:16

Теги

Похожие вопросы