
Estamos tratando de reescribir un draconiano asesino de sesiones de pantalla para usuarios que dejan sus sesiones de pantalla activas por una cantidad excesiva de tiempo y de una forma u otra han eludido los tiempos de espera de nuestras sesiones.
El método actual es encontrar el pid para la pantalla y eliminarlo, parece que el programa de la pantalla está escrito de una manera que se puede conectar a las sesiones de otros usuarios, pero cuando intento hacer algo como root, el directorio de la pantalla es un directorio diferente. Supongo que esto es por razones de seguridad, pero ¿hay alguna forma de anular esto intencionalmente para poder hacer algo como screen -r somedude/33333 -d -X quit
? como raíz?
Respuesta1
Las instancias estándar screen
son singleuser
, es decir, a cada instancia solo puede acceder el usuario que la crea.
Para permitir instancias multiusuario screen
, es posible que desee agregar estos comandos:
multiuser on
addacl root,<user1>,<user2>,...
a su screen
configuración global, es decir /etc/screenrc
.
Todas screen
las instancias posteriores a esta deben ser multiusuario screen
, es decir, pueden ser adjuntadas por otros usuarios especificados en addacl
; excepto si se anula mediante comandos específicos del usuario.
Puede enumerar las pantallas de usuario con
$ find /var/run/screen -type s
/var/run/screen/S-<user>/<pid>.<tty>.<host>
y adjuntarlo a la pantalla de otro usuario con
$ screen -d -r <user>/<pid>
Controlarman screen
, sección de Personalización para más información sobre screenrc
.
Tenga en cuenta que cada usuario también puede agregar sus propios screenrc
comandos específicos de usuario en $HOME/.screenrc
el archivo, deshabilitando así la pantalla multiusuario para su usuario.