Bonjour de l'année 2020 ! La réponse semble toujours être "non, vous ne pouvez pas (sans script ou modification du code source)".
Je soupçonne (mais seulement) qu'il pourrait s'agir d'une de ces circonstances où Attendre -a un outil d'automatisation Unix étonnamment sous-estimé -peut s'avérer utile.
Screen, du moins dans ses versions récentes, comporte de nombreuses vérifications intégrées afin d'éviter toute altération des permissions sur les sockets en /var/run/screen
en dehors de son acladd
y aclgrp
l'installation.
Si vous essayez de modifier les autorisations sur /var/run/screen/S-username
plus permissive (pour donner l'accès à un autre groupe Unix), vous obtiendrez toujours un message d'erreur du type
Must run suid root for multiuser support.
si vous tentez de screen -r username/
avec une prise existante.
Si vous sudo chmod u+s /usr/bin/screen
vous obtiendrez le message d'erreur suivant
Directory /var/run/screen/S-username must have mode 700
si vous avez modifié ces autorisations manuellement, ce qui semble exclure l'utilisation de l'option chmod
o setfacl
pour définir les autorisations sur la socket au niveau du système de fichiers. Si vous avez répondu aux attentes de Screen en ce qui concerne les permissions du système de fichiers, mais que vous n'avez pas explicitement ajouté l'utilisateur essayant d'accéder à la socket à la liste d'accès avec la commande Ctrl + A :acladd
vous obtenez le message d'erreur suivant
Access to session denied.
A priori, je ne connais pas de solution facile à votre problème proposée par tmux non plus, mais wemux semble être une enveloppe populaire pour faciliter l'utilisation des sessions partagées multi-utilisateurs, et pourrait vous aider à atteindre vos objectifs.
編集部 : Cette information provient de aperiodic.net/screen/multiuser ( Capture Wayback ) donne l'impression que l'on pourrait script les :acladd
tout en itérant sur l'appartenance à un groupe particulier à partir de /etc/group
en transmettant d'abord la séquence d'échappement suivante :
l'écran peut permettre à des programmes de lui envoyer des commandes par le biais de la séquence d'échappement ESC ] 83 ; cmd ^G;
Pour que cela fonctionne, le pseudo-utilisateur :window:
doit exister et disposer des autorisations nécessaires à l'exécution de la commande fournie.
0 votes
La réponse semble être "non, vous ne pouvez pas (sans script ou modification du code source)". Screen (au moins les versions récentes) comporte de nombreuses vérifications intégrées pour empêcher l'altération des permissions sur les sockets en
/var/run/screen
en dehors de sonacladd
yaclgrp
et vous obtiendrez des messages tels queDirectory /var/run/screen/S-username must have mode 700
si vous avez modifié ces autorisations manuellement.