Comment puis-je démarrer une session «écran» en tant qu'utilisateur non root


11

Existe-t-il un moyen d'ouvrir une nouvelle session «écran» sur ma boîte RHEL en tant qu'utilisateur non root? Lorsque j'essaie d'ouvrir un nouvel écran en utilisant la commande 'screen' en tant qu'utilisateur non root, il échoue et j'obtiens le message suivant:

Cannot open your terminal '/dev/pts/2' - please check.

J'ai fait quelques recherches et j'ai trouvé des gens suggérant de modifier les autorisations sur / dev / pts pour accorder à l'utilisateur non root (qui essaie d'ouvrir l'écran) un accès en lecture / écriture. Bien que cela puisse fonctionner, cela ne ressemble pas à une solution intéressante. Existe-t-il un moyen «légal» qui permet à un utilisateur non root d'ouvrir une session d'écran?

Modifié: J'ai ce problème sur mes machines RHEL 5.5, 6.2 et 6.5. La version d'écran sur toutes ces boîtes est la «Version d'écran 4.00.03 (FAU) 23-Oct-06».

PS: - Je sais que je peux ouvrir une session d'écran en tant que root et 'su' pour démarrer ma commande / processus, mais ce n'est pas ce que je recherche.

Réponses:


7

C'est un problème connu, si vous utilisez ssh en tant que root quelque part et que suvous devenez un utilisateur normal:

$ ssh root@server
# su -l anthon
$ screen 
Cannot open your terminal '/dev/pts/3' - please check.

Il est par exemple décrit dans ces articles de 2005

La solution consiste à vous connecter directement en tant qu'utilisateur sous lequel vous souhaitez que la screensession s'exécute.


Je me connecte en tant qu'utilisateur normal. Ne peut toujours pas courir screen.
codezombie

Peut screen- être n'est pas installé sur votre système, ou une autre raison inconnue qui provoque cela. Impossible à dire. Vous devez publier une nouvelle question (avec beaucoup plus d'informations) et supprimer votre commentaire.
Anthon

Le VPS est géré et le support indique qu'il n'est pas pris en charge sur les systèmes gérés. Puis-je utiliser un binaire d'écran prêt ou quelque chose?
codezombie

1
Quelle partie de vous devriez publier une nouvelle question que vous ne comprenez pas? Les commentaires ne concernent pas la publication de questions et réponses. Sigh .... screens'exécute en tant que root (en utilisant setuid), donc si vous pouvez organiser cela sur votre système géré, installez simplement le binaire à partir du .deb ou du .rpm. Dans votre cas, je chercherais à utiliser à la tmuxplace (ce qui ne nécessite pas d'être exécuté en tant que root.
Anthon

Merci, je comprends parfaitement ce que vous avez dit, mais je suis sûr qu'il sera défini comme doublon si je poste
codezombie

1

Vous devez utiliser script /dev/nullavant d'utiliser screen. Après avoir quitté, screenvous devez exit.


Ou tout avoir en une seule commande pour ne pas avoir à quitter la session de script:sudo -su user script -c bash /dev/null
basic6
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.