Может ли пользователь root администрировать экран других пользователей?

Может ли пользователь root администрировать экран других пользователей?

Мы пытаемся переписать драконовский метод отключения сеанса для пользователей, которые оставляют сеансы включенными на экране на чрезмерное количество времени и тем или иным образом обходят наши тайм-ауты сеанса.

Текущий метод заключается в том, чтобы найти pid для screen и убить его, если похоже, что программа screen написана таким образом, что вы можете подключаться к сеансам других пользователей, но когда я пытаюсь сделать что-либо как root, каталог screen — это другой каталог. Предполагаю, что это сделано из соображений безопасности, но есть ли способ намеренно переопределить это, чтобы я мог просто сделать что-то вроде screen -r somedude/33333 -d -X quit? как root?

решение1

Стандартные screenэкземпляры — это singleuser, т.е. доступ к каждому экземпляру может получить только тот пользователь, который его создал.

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

multiuser on
addacl root,<user1>,<user2>,...

в вашу глобальную screenконфигурацию, т. е. /etc/screenrc.

Все screenэкземпляры после этого должны быть многопользовательскими screen, т.е. могут быть присоединены другими пользователями, указанными в addacl; за исключением случаев, когда это переопределено пользовательскими командами.

Вы можете вывести список экранов пользователя с помощью

$ find /var/run/screen -type s
/var/run/screen/S-<user>/<pid>.<tty>.<host>

и прикрепить к экрану другого пользователя с помощью

$ screen -d -r <user>/<pid>

Проверятьman screen, Раздел настройки для получения дополнительной информации о screenrc.

screenrcОбратите внимание, что каждый пользователь может также добавлять в файл свои собственные пользовательские команды $HOME/.screenrc, тем самым отключая многопользовательский экран для своего пользователя.

Связанный контент