Мы пытаемся переписать драконовский убийца сеансов экрана для пользователей, которые оставляют свои сеансы экрана на чрезмерное количество времени и тем или иным образом обходят наши таймауты сеанса .
Текущий метод состоит в том, чтобы найти pid для экрана и убить его. Похоже, программа screen написана таким образом, что вы можете подключаться к сеансам других пользователей, но когда я пытаюсь сделать что-либо как root, экран каталог - это другой каталог. Предполагаю, что это сделано из соображений безопасности, но есть ли способ намеренно переопределить это, чтобы я мог просто сделать что-то вроде screen -r somedude / 33333 -d -X quit
? как root?
Стандартный экран
экземпляры однопользовательский
, т.е. каждый экземпляр может быть доступен только пользователю, который его создает.
Чтобы разрешить многопользовательский экран
, вы можете добавить следующие команды:
multiuser on
addacl root,<user1>,<user2>,...
в глобальную конфигурацию экрана
, т.е. /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
, тем самым отключая многопользовательский экран для своего пользователя.