screen vs sudo

При попытке открытия нового терминала при помощи утилиты screen иногда можно столкнуться со следующей ошибкой:

"Cannot open your terminal '/dev/pts/0' - please check"

Это связано с тем, что текущий терминал был открыт от имени другого пользователя – это происходит, например, если пользователь был сменен при помощи sudo su.

Есть два корректных способа решения этой проблемы:

  • Выйти из системы и перелогиниться именно выбранным пользователем;
  • Выполнить команду script /dev/null.

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

Обратите внимание, что не следует использовать chmod на виртуальном устройстве /dev/pts/0, как зачастую предлагается для решения этой проблемы. Хотя это и позволит запустить screen, но сделает данный терминал доступным для всех пользователей системы, что некорректно с точки зрения безопасности.

This entry was posted in Разное and tagged , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>