[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Forzar entrada por SSH de un user a entrar con SCREEN.



> El día 21 de abril de 2011 23:35, Raul Hormazabal <rhormaza@gmail.com> escribió:
>> 
>> 
>> 2011/4/21 Ramses <ramses.sevilla@gmail.com>
>>> 
>>> El tema es que para conectarme a esa sesión tengo que estar logado con el
>>> mismo user y hacer un "screen -x" o ver el listado y conectar a la que
>>> quiera. ¿No podría hacerlo desde otro user?
>> 
>> screen permite reattach a window por differentes usuarios...hechele un
>> vistazo a la documentacion official..
>> http://www.gnu.org/software/screen/manual/screen.html#Multiuser-Session
> 
> Yo te driría que uses "sudo", en debian para instalarlo:
> 
> # apt-get install sudo
> 
> Vos podés crear un usuario normal, sin grupo root, y que ese usuario
> este en la lista de sudoers (/etc/sudoers), ahí podés agregar a un
> usuario en particular, o todo un grupo anteponiendo "%", podes
> porjemplo crear un grupo "admins":
> 
> # groupadd admins
> 
> y luego asignarlo como grupo al usuario en cuestion:
> 
> # usermod -G admins
> 
> Y en /etc/sudoers pone:
> 
> %admins ALL=(ALL) ALL
> 
> de esa forma el usuario ya va a poder usar el comando sudo, con su
> contraseña para ejecutar comandos en modo root, si en el archivo de
> inicio le ponés:
> 
> sudo screen
> 
> Estaria arrancando screens como root, lo malo es que el usuario
> después de loguearse tendría que poner nuevamente su contraseña.
> 
> Ya para ver las sesiones abiertas solo listas las de usuario root.
> 
> Si querés tenes un control mas "sobre usuario" podes arrancar el
> screen sin sudo (y que el usuario tenga que usarlo una vez ya
> logueado)., para ejecutar screen con ese usuario, desde otro,
> preferentemente root, podes usar "su":
> 
> # su -c usuario "screen -x"
> 
> El parametro "-c" ejecuta un programa con el usuario pedido, en caso
> de ser root, no te va a pedir password, en caso de hacerlo desde otro
> usuario vas a tener que saber el pass de ese usuario, y hay sitemas
> que no lo permiten como FreeBSD donde si o si tenes que ser Root para
> eejcutar su con el parametro -c.

Buenas,

Creo que lo he hecho todo tal como comentaban:

- Crear el user pruebas
- Crear el group admin
- Hacer pertenecer pruebas al grupo admin
- Meter en el /etc/sudoers el grupo admin con lo del ALL
- En el bash de pruebas lo de: sudo screen -S Support

Me conecto con el user pruebas y me inicia el screen con la sesión Support.

Hasta ahí, todo bien.

Ahora, inicio, por ejemplo, una sesión con root y hago un: su pruebas -c "screen -ls"

Y me lista la sesión Support.

Pero cuando hago un: su pruebas -c "screen -r Support"

Me da un error diciendo algo así como:

Cannot open your terminal '/dev/pst/5'. Check

O algo así.

¿Donde me he perdido?

¿Tengo que hacer pertenecer el user pruebas a más grupos?


Saludos y gracias,

Ramses


Reply to: