Ошибка при использовании sudo -stdin

я пытаюсь использовать -с устройства stdin арг на судо.

я попытался это:

echo 'mypass' | sudo -S cat /etc/shadow

и

echo 'mypass\n' | sudo -S cat /etc/shadow

как человек, предполагают, чтобы добавить новую строку.

оба не работают. Что не так?

1
задан 8 December 2017 в 17:46

3 ответа

Команда

echo не будет печатать символы новой строки с последовательностью \n. Вместо этого используйте printf.

printf "mypassword\n" | sudo -S cat /etc/shadow
2
ответ дан 22 May 2018 в 15:33
  • 1
    Я просто испытал. Это не сработало. Но потом я сменил пароль на что-то более простое, и это работает. Странный. – Mathias Maes 8 December 2017 в 17:56
  • 2
    Вероятно, у вас есть метакары оболочки в вашем пароле, подумайте о том, чтобы обернуть свой пароль в одинарные кавычки, а не в двойные кавычки, чтобы предотвратить разбор метадаров. – Mukesh Sai Kumar 8 December 2017 в 17:57
  • 3
    ОП уже использовал одинарные кавычки. И echo по умолчанию печатает новую строку, так что нет необходимости в двух. @MathiasMaes в вашем пароле содержится символ '? Это сломает то, что вы пытаетесь. – terdon♦ 8 December 2017 в 18:01
  • 4
    @MathiasMaes. Поскольку вы предоставляете ввод из двух мест (канал | и перенаправление оболочки <<), вход берется со второго места, а не из первого. Вы можете исправить это, обернув скобки: (printf 'testpassword\n' | sudo -S chpasswd) << (echo 'magjefzuzkfnkbexqgxcjnkju:thisisatest') – Mukesh Sai Kumar 8 December 2017 в 18:14
  • 5
    Я тоже новичок, но я думаю, вы можете добавить пространство между этими < следующим образом: (commands) < <(echo newpassword) – Mukesh Sai Kumar 8 December 2017 в 18:33
Команда

echo не будет печатать символы новой строки с последовательностью \n. Вместо этого используйте printf.

printf "mypassword\n" | sudo -S cat /etc/shadow
2
ответ дан 18 July 2018 в 01:35
Команда

echo не будет печатать символы новой строки с последовательностью \n. Вместо этого используйте printf.

printf "mypassword\n" | sudo -S cat /etc/shadow
2
ответ дан 24 July 2018 в 17:25

Другие вопросы по тегам:

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