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.

Lumières de la ville
la source

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.

Anthon
la source
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.

Tyftler
la source
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