ServerAdmin.ru
28K subscribers
224 photos
26 videos
10 files
2.55K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Пользуюсь утилитой screen почти столько же лет, сколько использую Linux. В основном для того, чтобы не завершалась ssh сессия после разрыва соединения. И только на днях один подписчик написал, что её можно использовать для доступа другого пользователя к своей сессии или наоборот. Не знал об это и никогда не видел. Делал когда-то заметки про бесплатные сервисы, которые позволяют шарить консоль, по типу того, как это происходит в teamviewer или anydesk, только для консоли.

Если подключились под одной учётной записью к серверу, то любому из подключившихся достаточно создать сессию screen:
# screen -d -m -S shared
И обоим подключиться к ней:
# screen -x shared
Теперь у обоих одна консоль на двоих. Все команды отображаются у обоих подключившихся.

Для разных пользователей действия другие. Для начала необходимо установить suid бит, чтобы screen всегда запускался с привилегиями суперпользователя:
# chmod u+s $(which screen)
# chmod 755 /var/run/screen
# rm -fr /var/run/screen/*
Теперь запускаем, к примеру, сессию у root и открываем доступ для пользователя zerox:
# screen -d -m -S shared
# screen -r shared
Зайдя в сессию от root, разрешаем подключиться пользователю zerox. Для этого в терминале нажимаем комбинацию Ctrl-a и вводим команду:
:multiuser on
Потом снова Ctrl-a и команду:
Ctrl-a :acladd zerox
Подключаемся пользователем zerox и оказываемся в одной сессии с root:
screen -x root/shared

Постороннему пользователю можно выдать как полные права, так и только на чтение. По умолчанию даются полные. Чтобы дать только на чтение, нужно добавить команду в сессии через Ctrl-a:
:writelock on

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

#linux #screen