Как сделать проверку sudo, которая длится достаточно долго, чтобы (непривилегированный) сделать, чтобы закончить?

У вас такая же проблема, и немного Google Gougling: «Какое обходное решение« ptrace_scope »для программ Wine и есть ли какие-либо риски? который предлагает установить ptrace на 0

echo 0|sudo tee /proc/sys/kernel/yama/ptrace_scope

Я попробовал это, чтобы увидеть, оказало ли это какое-либо влияние, и теперь приложение Virgin Media подключается и выполняет резервное копирование. Я не знаю, что такое ptrace, но, похоже, это исправить!

1
задан 2 January 2013 в 22:51

2 ответа

Я думаю, что это лучший способ сделать это:

make | sudo bash -c 'cat - && make install'

Это будет одновременно запускаться как make, так и sudo, при этом sudo запрашивает ваш пароль. В то же время make отправляет весь свой вывод в трубу, который считывается командой cat. После этого выполняется make install. Он вызывается из процесса bash, который все еще имеет повышенные разрешения, поэтому нет проблемы с тайм-аутом.

2
ответ дан 25 May 2018 в 05:31
  • 1
    @Flimm: дело в том, что это сразу даст вам приглашение sudo, а не после завершения команды make. – Timo Kluck 2 January 2013 в 21:05
  • 2
    Ах, да, ты прав. Это умно. – Flimm 2 January 2013 в 21:06

Самый простой способ, который не требует изменения системных файлов:

echo {password} | sudo -S -v && make && echo {password} | sudo -S make install

Это позволит скрипту работать без запроса пароля.

Однако этот метод создает угрозу безопасности, поскольку вы храните свой пароль в виде обычного текста.

Некоторые другие методы можно найти здесь, но большинство из них посвящено редактированию системных файлов.

edit: Если вы добавили пробел перед первым эхом команда не будет отображаться в истории bash.

0
ответ дан 25 May 2018 в 05:31
  • 1
    отлично! Я соглашусь с этим, как только я убежден, что невозможно отключить пароль из командной строки. – Timo Kluck 15 October 2012 в 20:03
  • 2
    О, это можно сделать более изобретательным, читая файл (SUSE может это сделать;)) – Rinzwind 15 October 2012 в 20:05
  • 3
    это очень очевидно, но было бы неплохо, если бы мы могли сделать его более изобретательным, если бы он по-прежнему поступал из невидимого терминального ввода. – Timo Kluck 15 October 2012 в 22:38
  • 4
    Может ли отрицательный избиратель объяснить их причину? – Rinzwind 2 January 2013 в 21:23
  • 5
    Это был я. Я проигнорировал из-за рисков безопасности, о которых вы упоминали, и потому, что этот ответ появился перед ответом Тимо Клюка. – Flimm 2 January 2013 в 21:28

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

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