Wie kann ich eine Bildschirmsitzung als Nicht-Root-Benutzer starten?


10

Gibt es eine Möglichkeit, eine neue "Bildschirmsitzung" auf meiner RHEL-Box als Nicht-Root-Benutzer zu öffnen? Wenn ich versuche, einen neuen Bildschirm mit dem Befehl 'screen' als Nicht-Root-Benutzer zu öffnen, schlägt dies fehl und ich erhalte die folgende Meldung:

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

Ich habe ein wenig recherchiert und Leute gefunden, die vorschlagen, die Berechtigungen für / dev / pts zu ändern, um dem Nicht-Root-Benutzer (der versucht, den Bildschirm zu öffnen) einen Lese- / Schreibzugriff zu gewähren. Obwohl es funktionieren mag, sieht es nicht nach einer ordentlichen Lösung aus. Gibt es eine "legale" Möglichkeit, mit der ein Benutzer ohne Rootberechtigung eine Bildschirmsitzung öffnen kann?

Bearbeitet: Ich habe dieses Problem auf meinen RHEL 5.5-, 6.2- und 6.5-Computern. Die Bildschirmversion aller dieser Felder lautet "Bildschirmversion 4.00.03 (FAU) 23-Oct-06".

PS: - Ich weiß, dass ich eine Bildschirmsitzung als root und 'su' öffnen kann, um meinen Befehl / Prozess zu starten, aber das ist nicht das, wonach ich suche.

Antworten:


8

Dies ist ein bekanntes Problem, wenn Sie irgendwo als root ssh und dann suein normaler Benutzer werden:

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

Es ist zB in diesen Beiträgen von 2005 beschrieben

Die Lösung besteht darin, sich direkt als der Benutzer anzumelden, unter dem die screenSitzung ausgeführt werden soll.


Ich melde mich als normaler Benutzer an. Kann immer noch nicht laufen screen.
Codezombie

Möglicherweise screenist es nicht auf Ihrem System installiert oder ein anderer unbekannter Grund, der dies verursacht. Unmöglich zu sagen. Sie sollten eine neue Frage stellen (mit viel mehr Informationen) und Ihren Kommentar löschen.
Anthon

Der VPS wird verwaltet, und der Support gibt an, dass er auf verwalteten Systemen nicht unterstützt wird. Könnte ich eine fertige Binärdatei des Bildschirms oder so etwas verwenden?
Codezombie

1
Welchen Teil von Ihnen sollten eine neue Frage stellen, verstehen Sie nicht? Kommentare dienen nicht zum Posten von Fragen und Antworten. Sigh .... wird screenals root ausgeführt (mit setuid). Wenn Sie dies also auf Ihrem verwalteten System arrangieren können, installieren Sie einfach die Binärdatei von .deb oder .rpm. In Ihrem Fall würde ich tmuxstattdessen verwenden (was nicht erfordert, als root ausgeführt zu werden.
Anthon

Vielen Dank, ich verstehe vollkommen, was Sie gesagt haben, aber ich bin mir ziemlich sicher, dass es als Duplikat gesetzt wird, wenn ich
Codezombie

1

Sie müssen script /dev/nullvor der Verwendung verwenden screen. Nach dem Verlassen muss screenman exit.


Oder haben Sie alles in einem Befehl, damit Sie die sudo -su user script -c bash /dev/null
Skriptsitzung
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.