Спільний доступ до терміналу з кількома користувачами (з екраном чи іншим чином)


11

Я налаштовую сервер, де є кілька розробників, які працюють над декількома додатками.

Я розібрався, як надати певним розробникам спільний доступ до необхідних каталогів додатків, використовуючи setgid bitта default ACLsнадавати доступ будь-кому в групі.

Багато з цих додатків працюють під терміналом під час розробки для легкого доступу. Коли я працюю в самоті, я налаштував користувача на додаток і запустив екран як цей користувач. Це має і той недолік, що кожен розробник, щоб використовувати screen sessionпароль, повинен знати пароль, і важче тримати окремі облікові записи користувачів та додатків.

Один із способів, який може працювати, - це використання функцій багатокористувацького екрана. Вони не працюють поза коробкою, проте екран скаржиться на необхідність suid root. Чи має давання, що має якісь недоліки? Я досить обережно використовую що- suid rootнебудь. Можливо, є причина, чому це не за замовчуванням?

Чи варто це робити з screenчи є інший розумний спосіб робити те, що я хочу?

Відповіді:


24

Так, ви можете зробити це з тим, screenхто має підтримку багатокористувача.

Спочатку створіть нову сесію:

screen -d -m -S multisession

Прикріпіть до нього:

screen -r multisession

Увімкніть підтримку багатокористувача:

Натисніть Ctrl-aта введіть

:multiuser on
:acladd USER ← use username of user you want to give access to your screen

Тепер Ctrl-a dі перерахуйте сеанси:

$ screen -ls
There is a screen on:
    4791.multisession   (Multi, detached)

Тепер у вас є багатокористувацький екранний сеанс. Дайте ім’я multisessionкористувачеві acl'd, щоб він міг до нього долучитися:

screen -x youruser/multisession

І це все.

Єдиний недолік - це те, що він screenповинен працювати як suidroot. Але наскільки я знаю, це норма за умовчанням.

Інший варіант - це зробити screen -S $screen_id -X multiuser on,screen -S $screen_id -X acladd authorized_user

Сподіваюсь, це допомагає.


1
Це те, що я спробував, аж до того, де екран скаржиться на потребу suid root. Я зрозумів, що запитаю, чи це найкращий спосіб робити, перш ніж додавати права доступу до програм, у яких їх немає за замовчуванням
varesa

Дивно. Моє screen- suidкорінь.
Сцильд де Шахрайство

Я думаю, що це може бути предметом, що залежить від дистрофії. Я спробував на CentOS 6 або 7 (потрібно перевірити)
varesa

Для чого це варто, screenтакож немає suid rootна Ubuntu 16.04.
крижана вода

6
screen -S $screen_id -X multiuser on, screen -S $screen_id -X acladd authorized_user замість control-a команди будуть хорошим доповненням до відповіді
ribamar
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.