linux

sudo: sorry, you must have a tty to run sudo

Потребовалось выполнить команду из-под sudo на удаленном сервере.

Самое простое, что могло прийти в голову — это использовать stdin чтобы передать пароль для sudo (скрипт не ждет пользовательского ввода).

$ ssh server "echo password | sudo command"

Увы. Было получено сообщение из заголовка статьи.

Почему вообще такое происходит? Причина в том, что конфиг /etc/sudoers содержит опцию (если ее нет, то включите :))

Defaults requiretty
     requiretty        If set, sudo will only run when the user is logged in
                       to a real tty.  When this flag is set, sudo can only be
                       run from a login session and not via other means such
                       as cron(8) or cgi-bin scripts.  This flag is off by
                       default.

Как обойти эту опцию не правя конфиги? Довольно просто.

Нам потребуется использовать опцию -t для ssh, которая заставляет клиента принудительно открывать псевдотерминал даже если нужды в нем нет (работаем с stdin). А для sudo потребуется опция -S, которая заставляет считывать пароль из stdin.

$ ssh -t server "echo password | sudo -S command"

Работает.

HowTo, linux

Fedora: гибернация

Вы закрываете крышку ноутбука и он выключается. «Но то не то что я ожидаю!» — воскликните вы. Да. Так и есть. Потому что уже много времени подряд гибернация работает из рук вон плохо. Эдакое бедствие в линупсе.

Сначала рассмотрим теорию, а после — практику сна базе дистрибутива Fedora 26.

Основные режимы энергосбережения, которые чаще всего упоминаются пользователями::

  • ждущий режим — это когда отключается питание внешних устройств, но при этом сохраняется питание памяти, что позволяет относительно быстро восстанавливать рабочее состояние системы  В спецификации аппаратного обеспечения указано пять уровней энергосохранения. И разработчики различных операционных систем часто выбирают различающиеся между собой уровни.
  • Спящий режим — это особая разновидность выключения компьютера при котором слепок содержимого оперативной памяти сохраняется на диске. При повторной загрузке ОС проверяет, есть ли слепок памяти. И если да, то восстанавливает слепок в оперативную память и начинает с того места, на котором вы остановились ранее.
  • гибридный спящий режим — это тот же ждущий режим при котором содержимое оперативной памяти сохраняется в энергонезависимой памяти на случай отключения питания (windows-only)

И если со ждущим режимом все более-менее понятно и он работает в большинстве современных дистрибутивов, то со спящим режимом не все так гладко. Попытавшись увести систему в спячку и нажав на кнопку питания для пробуждения вы просто заново загрузите систему.

Предупреждение: все описанные ниже манипуляции требуют физической перезагрузки компьютера для того, чтобы ядро восприняло новые параметры.

Читать далее

HowTo

Как организовать собственную доменную зону (windows)

Для организации собственных доменных зон первого уровня в windows стоит использовать deadwood+maradns. За ссылками в гугль.
Первый — это кеширующий dns, который позволяет добавлять кастомные рут-сервера для определенных зон. А второй — нерекурсивный днс для организации сервера кастомной зоны.
Читать далее