Судо как другой пользовательский и рабочий экран

Обнаружил сегодня, что запуск экрана как другого пользователя, который я sudo в не работает!

то есть.

ssh bob @ server # ssh на сервер как боб
sudo su "monitor" -
экран # не работает

У меня есть сценарий, который работает как пользователь «монитора». Мы запускаем его в сеансе экрана, чтобы видеть вывод на экране. Проблема в том, что у нас есть несколько пользователей, которые входят в систему со своей учетной записью (т. Е. Bob, james, susie и т. Д.), А затем они подключаются к пользователю «монитора». Предоставление им доступа к пользователю «монитора» не может быть и речи.

147 голосов | спросил luckytaxi 25 FebruaryEurope/MoscowbThu, 25 Feb 2010 18:07:07 +0300000000pmThu, 25 Feb 2010 18:07:07 +030010 2010, 18:07:07

7 ответов


218

Попробуйте запустить script /dev /null как пользователь, которому вы su, перед запуском экрана - это небольшой взлом гетто, но он должен сделать экран счастливым.

ответил voretaq7 25 FebruaryEurope/MoscowbThu, 25 Feb 2010 19:46:58 +0300000000pmThu, 25 Feb 2010 19:46:58 +030010 2010, 19:46:58
31

Я использую функцию-оболочку вокруг экрана для пользователей, для которых я sudo su. Это функция-обертка, которую я добавил пользователю (пользователям) ~ /.bashrc:

экран функции () {
  /usr /bin /script -q -c "/usr /bin /screen $ {*}" /dev /null
}

Это позволяет мне использовать все параметры и параметры для screen, которые я могу использовать. Я размышляю над тем, чтобы поместить эту функцию в систему.

ответил steviethecat 13 PM00000050000004131 2014, 17:45:41
7

Предполагая, что они SSHing в хост в любом случае, вы можете добавить общедоступные ключи ssh для каждого пользователя, которому необходим доступ к учетной записи монитора в файле ~ monitor /.ssh /authorized_keys. Затем на удаленной машине каждого пользователя они могут запускать

  

ssh -t [email protected] screen -RD

ответил Alex 25 FebruaryEurope/MoscowbThu, 25 Feb 2010 19:52:38 +0300000000pmThu, 25 Feb 2010 19:52:38 +030010 2010, 19:52:38
5

Предполагая, что мы говорим об этой ошибке:

$ sudo su - bob
$ screen
Невозможно открыть терминал /dev /pts /5 '- пожалуйста, проверьте.

Вот один лайнер (например, можно использовать как «псевдоним gobob»):

sudo su - bob -c "script -c bash /dev /null" '

Пояснение:

Это запустит оболочку (например, оболочку входа) как пользовательский боб. Пользователь bob запускает скрипт , которому предлагается вызвать bash (может быть тире или ksh ...), и копия сеанса выбрасывается.

ответил basic6 22 FebruaryEurope/MoscowbSun, 22 Feb 2015 11:36:38 +0300000000amSun, 22 Feb 2015 11:36:38 +030015 2015, 11:36:38
0

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

ответил Bart Silverstrim 25 FebruaryEurope/MoscowbThu, 25 Feb 2010 18:51:23 +0300000000pmThu, 25 Feb 2010 18:51:23 +030010 2010, 18:51:23
0

Вы говорите:

sudo su "monitor" -

Мне интересно, что такое трейлинг. Обычно я делаю:

sudo su - имя пользователя

Черточка (на странице пользователя su) сообщает su, чтобы «сделать оболочку оболочкой для входа». Это означает, что он будет использовать все обычные сценарии запуска оболочки и правильно настроить такие вещи, как PATH и HOME.

ответил Doug Harris 25 FebruaryEurope/MoscowbThu, 25 Feb 2010 21:44:49 +0300000000pmThu, 25 Feb 2010 21:44:49 +030010 2010, 21:44:49
-2

Я просто ударил эту проблему. Решил его с помощью chmod + rw $ (tty) перед запуском sudo. Проблема с этим решением заключается в том, что после этого каждый может подключиться и snoop на вашем терминале.

ответил Amos Shapira 22 J0000006Europe/Moscow 2010, 06:09:33

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132