Condivisione di un terminale con più utenti (con schermo o altro)


11

Sto installando un server in cui ci sono più sviluppatori che lavorano su più applicazioni.

Ho capito come dare ad alcuni sviluppatori l'accesso condiviso alle directory delle applicazioni necessarie usando setgid bite default ACLsdare a chiunque in un gruppo l'accesso.

Molte di queste applicazioni funzionano sotto un terminale mentre sono in sviluppo per un facile accesso. Quando lavoro da solo, ho impostato un utente per un'applicazione ed eseguo schermo come quell'utente. Questo ha il rovescio della medaglia che ogni sviluppatore deve utilizzare le screen sessionesigenze per conoscere la password ed è più difficile mantenere separati gli account utente e dell'applicazione.

Un modo che potrebbe funzionare è l'utilizzo delle funzionalità multiutente dello schermo. Tuttavia, non funzionano immediatamente, lo schermo si lamenta della necessità suid root. Dare che ha degli aspetti negativi? Sto abbastanza attento a usare suid rootqualsiasi cosa. Forse c'è un motivo per cui non è l'impostazione predefinita?

Dovrei farlo con screeno c'è qualche altro modo intelligente di fare quello che voglio?

Risposte:


23

Sì, puoi farlo con il screenquale ha il supporto multiutente.

Innanzitutto, crea una nuova sessione:

screen -d -m -S multisession

Allegare ad esso:

screen -r multisession

Attiva il supporto multiutente:

Premi Ctrl-ae digita

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

Ora, Ctrl-a ded elenca le sessioni:

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

Ora hai una sessione schermo multiutente. Dai il nome multisessionall'utente acl'd, in modo che possa collegarlo:

screen -x youruser/multisession

E questo è tutto.

L'unico inconveniente è che screendeve essere eseguito come suidroot. Ma per quanto ne so è la situazione normale predefinita.

Un'altra opzione è fare screen -S $screen_id -X multiuser on,screen -S $screen_id -X acladd authorized_user

Spero che sia di aiuto.


1
Questo è quello che ho provato, fino a quando lo schermo si lamenta della necessità suid root. Ho capito che avrei chiesto se questo fosse il modo preferito di fare le cose prima di aggiungere i permessi di root ai programmi che non li hanno di default
varesa,

Strano. My screenis suidroot.
Scyld de Fraud,

Penso che potrebbe essere una cosa distro-dipendente. Ho provato con CentOS 6 o 7 (è necessario verificare)
varesa,

Per quello che vale, non screenè anche suid rootsu Ubuntu 16.04.
acqua ghiacciata

6
screen -S $screen_id -X multiuser on, screen -S $screen_id -X acladd authorized_user invece di control-a comandi sarebbe una buona aggiunta alla risposta
ribamar
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.