Partager un terminal avec plusieurs users (avec écran ou autre)

Je mets en place un server sur lequel plusieurs développeurs travaillent sur plusieurs applications.

J'ai compris comment donner à certains développeurs un access partagé aux directorys d'application nécessaires en utilisant le setgid bit et les default ACLs pour donner default ACLs à n'importe qui dans un groupe.

Beaucoup de ces applications s'exécutent sous un terminal en cours de développement pour un access facile. Lorsque je travaille seul, je configure un user pour une application et lance l'écran en tant que cet user. Cela a l'inconvénient que chaque développeur d'utiliser la screen session doit connaître le mot de passe et il est plus difficile de séparer les counts d'user et d'application.

Une façon qui pourrait fonctionner est d'utiliser des fonctions multi-user écran. Ils ne fonctionnent pas en dehors de la boîte cependant, l'écran se plaint d'avoir besoin de la suid root . Est-ce que donner cela a des inconvénients? Je fais très attention à utiliser n'importe quoi. Peut-être y a-t-il une raison pour laquelle ce n'est pas le défaut?

Devrais-je le faire avec l' screen ou existe-t-il une autre manière intelligente de faire ce que je veux?

Oui, vous pouvez le faire avec un screen qui a un support multi-user.

Tout d'abord, créez une nouvelle session:

 screen -d -m -S multisession 

Joindre à cela:

 screen -r multisession 

Activer le support multi-user:

Appuyez sur Ctrl-a et tapez

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

Maintenant, Ctrl-a d et listr les sessions:

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

Vous avez maintenant une session d'écran multi-user. Donnez le nom multisession à l'user acl'd, afin qu'il puisse y attacher:

 screen -x youruser/multisession 

Et c'est tout.

Le seul inconvénient est que l' screen doit fonctionner comme suid root. Mais AFAIK est la situation normale par défaut.

HTH