Как я могу начать сеанс «экрана» от имени пользователя без полномочий root

11

Есть ли способ, которым я могу открыть новый сеанс экрана на моей коробке RHEL как пользователь без полномочий root? Когда я пытаюсь открыть новый экран, используя команду «screen» от имени пользователя, не являющегося пользователем root, происходит сбой, и я получаю следующее сообщение:

Cannot open your terminal '/dev/pts/2' - please check.

Я немного исследовал и нашел людей, предлагающих изменить разрешения для / dev / pts, чтобы предоставить пользователю без полномочий root (который пытается открыть экран) доступ на чтение / запись. Хотя это может работать, это не похоже на аккуратное решение. Существует ли «легальный» способ, позволяющий пользователю без полномочий root открывать сеанс экрана?

Отредактировано: у меня есть эта проблема на моих машинах RHEL 5.5, 6.2 и 6.5. Экранная версия на всех этих коробках - «Экранная версия 4.00.03 (FAU) 23 октября 2006 года».

PS: - Я знаю, что могу открыть сеанс экрана как root и 'su', чтобы запустить мою команду / процесс, но это не то, что я ищу.

Citylight
источник

Ответы:

7

Это известная проблема, если вы где-то suс правами root и затем стать обычным пользователем:

$ ssh root@server
# su -l anthon
$ screen 
Cannot open your terminal '/dev/pts/3' - please check.

Это, например, описано в этих сообщениях с 2005 года

Решение состоит в том, чтобы напрямую войти в систему как пользователь, от имени которого вы хотите screenзапустить сеанс.

Энтон
источник
Я захожу как обычный пользователь. Все еще не может бежать screen.
Codezombie
Возможно screen, не установлен в вашей системе, или какая-то другая неизвестная причина, которая вызывает это. Невозможно сказать. Вы должны опубликовать новый вопрос (с гораздо большей информацией) и удалить свой комментарий.
Энтон
VPS управляется, и служба поддержки сообщает, что он не поддерживается в управляемых системах. Могу ли я использовать готовый двоичный файл экрана или что-то?
Codezombie
1
Какая часть из вас должна написать новый вопрос , который вы не понимаете? Комментарии не для размещения вопросов и ответов. Sigh .... screenзапускается с правами суперпользователя (с помощью setuid), поэтому, если вы можете организовать это в своей управляемой системе, просто установите двоичный файл из .deb или .rpm. В вашем случае я бы посмотрел на использование tmuxвместо этого (который не требует запуска от имени root.
Anthon
Спасибо, я прекрасно понимаю, что вы сказали, но я уверен, что он будет дублирован, если я
отправлю
1

Вы должны использовать script /dev/nullперед использованием screen. После ухода screenвы должны exit.

tyftler
источник
Или все это можно выполнить одной командой, чтобы вам не пришлось выходить из сеанса сценария:sudo -su user script -c bash /dev/null
basic6