*** Ivan Shmakov <[email protected]> [2017-07-16 18:04]:
>       Причем здесь доверие?  Я уже привел один пример: $ ssh REMOTE
>       может дать доступ к Shell на удаленной машине; а может —
>       предупреждение о том, что ключ REMOTE не соответствует
>       сохраненному в ~/.ssh/known_hosts.  Ни stuff, ни set-buffer +
>       paste-buffer адекватно эту ситуацию обработать, IIUC, не
>       позволяют.

Тогда я не так понял что вы имели в виду прежде. Да, хороший пример.
Просто никогда такие "опасные" команды в tmux не автоматизировал.

>       Еще одна возможная ситуация — «внезапное» изменение умолчаний.

Ну для меня это "болезнь" людей которые любят bleeding edge. Обновляться
надо аккуратно, читая changelog-и софта. Хотя по ним не всегда понятно
затронет ли оно "меня" или нет. В любом случае всё это настолько редкие
для меня ситуации, что о них даже не собираюсь думать.

>       А если так, то в чем преимущество set-buffer + paste-buffer
>       перед, например, $ bash --rcfile=?  (Предполагая, что
>       используется именно Bash.  Думаю, иные реализации Shell
>       предоставляют схожие возможности.)

(bash не использую, но это мелочи) Тут rcfile будет для одного
интерпретатора. Если мне нужно открыть несколько окон (pane-ов в tmux) и
в каждом из них что-то сделать своё, не одинаковое для всех окон, то
тогда нужно написать несколько rc-файлов. Вместо ровно одного, где всё
сконсолидировано -- нужно иметь и скрипт с tmux/screen обёрткой и
отдельные rc-файлы. Да, можно их поместить и в один, который их сохранит
во временные файлы, натравливая на них shell, но... это уже не удобно,
это уже костыли. Мне надо думать как делать --rcfile, а мне хочется
просто ручные действия "заскриптовать".

>       /Цель/ работы данного кода, как я ее понял, — дать пользователю
>       root-доступ, если «подключен зашифрованный диск».

Нет, просто ввести "su -" и пароль взятый с диска. Если пароля нет, то
он введёт пустоту и su меня пошлёт. Просто ввести su и пароль -- мне не
надо никаких проверок.

>       Я не вижу причины, по которой некий «шлюз привилегий» не может
>       проверить факт /наличия/ файла — и дать root-доступ без
>       необходимости ввода какого-либо пароля.  (Или хранения оного.)

Для этого мне надо открыть документацию su/sudo/doas/whatever и смотреть
может ли он это сделать. Мне этого не надо -- мне надо просто повторить
мои ручные действия.

Есть разница между "делать всё правильно" и сделать всё очень быстро,
наколеночные макросы и простые скрипты которые экономят время, пускай
даже которые упадут или не сработают. Время настройки автоматически
запускаемого рабочего окружения с "правильными" подходами в виде
rc-файлов, проверок на ошибки и прочего существенно больше чем просто
сказать что надо интерактивно ввести. Если что-то пошло не так, то проще
поправить скрипт.

Тут точно так же как при работе в Vim редакторе: не всегда "делать
правильно" эффективно по времени -- иногда надо делать менее эффективно,
но зато с меньшими усилиями, если что, если например макрос "испорчен",
то с нуля его повторить.

-- 
Sergey Matveev (http://www.stargrave.org/)
OpenPGP: CF60 E89A 5923 1E76 E263  6422 AE1A 8109 E498 57EF

Ответить