"Screen is terminating" für Nicht-Root


14

Wenn ich versuche, screen als Benutzer ohne Rootberechtigung auszuführen, erhalte ich Folgendes:

screen

[screen is terminating]

sofort, obwohl es gut für root funktioniert

ls -alh /usr/bin/screen
-rwxr-sr-x 1 root screen 465K Jun  9 20:30 /usr/bin/screen

Als ich herum googelte, bemerkte ich eine Erwähnung von / etc / fstab, hier ist meine:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/md1        /       ext4    errors=remount-ro       0       1
/dev/md2        /home   ext4    defaults        1       2
/dev/sda3       swap    swap    defaults        0       0
/dev/sdb3       swap    swap    defaults        0       0
proc            /proc   proc    defaults                0       0
sysfs           /sys    sysfs   defaults                0       0
tmpfs           /dev/shm        tmpfs   defaults        0       0
devpts          /dev/pts        devpts  defaults        0       0

Dies auf einem frisch installierten Centos 7 auf einem dedizierten Server, auf den über ssh zugegriffen wird (TTY ist pts).

Jede Hilfe wäre dankbar.

screen -ls    
No Sockets found in /var/run/screen/S-user.

ls -la /var/run/screen/S-user
total 0
drwx------ 2 user user 40 Jul 10 18:23 .
drwxrwxr-t 4 root     screen   80 Jul 10 17:59 ..

Run screen -ls; Es sollte einen Verzeichnisnamen in der ersten Zeile geben. Führen Sie ls -la <above directory name>dann die Ausgabe aus , und geben Sie sie in Ihre Frage ein.
BenjiWiebe

Ok, hat es der Frage hinzugefügt.
Rob

Hmmmm ... Ich habe erwartet, dass dort ein Berechtigungsproblem auftritt, aber es sieht gut aus.
BenjiWiebe

Ich versuche eine VM von CentOS 7 zu bekommen, um zu sehen, ob es auch dieses Problem gibt, aber ich werde es vielleicht nicht bis morgen fertig bekommen ...
BenjiWiebe

Gibt es einen Grund, warum Sie CentOS 7 benötigen? Es scheint, dass es vielleicht damit zusammenhängt, dass CentOS 7 gerade veröffentlicht wurde. Vielleicht könnten Sie CentOS 6 noch ein paar Wochen verwenden?
BenjiWiebe

Antworten:


12

Ich hatte dieses Problem auf einem dedizierten CentOS 7-Server und bin auf das in diesem Fehlerbericht beschriebene Update gestoßen : bugs.centos.org/view.php?id=7395

Das war eine gute Lösung für den Dedicated, um gid=5devpts in fstab hinzuzufügen . screenFunktioniert jetzt wie erwartet für alle Benutzer.

Ich bin jedoch auf diesen Thread gestoßen, als ich versuchte, das Problem in einem OpenVZ-Container von CentOS 7 zu lösen. Da es keine Möglichkeit gibt, die fstab für den Server zu bearbeiten (so weit ich es finden konnte), habe ich Folgendes gefunden Workaround behoben.

Ich dachte, ich würde auf diesem Weg zurückfallen und sehen, ob es jemand anderem helfen könnte. (Obwohl es keine sehr schöne Art ist, es zu tun.)

Im Terminal:

chmod u+s /usr/bin/screen
chmod 755 /var/run/screen

Diese Antwort hat das Problem für mich gelöst, Ubuntu 18.04 läuft auf openvz container
user1330614

3

Stellen Sie sicher, dass kein anderer screenBenutzer dieses Gerät verwendet

Dies kann erreicht werden mit Wie kann ich feststellen, welcher Prozess eine Datei in Linux geöffnet hat? :

sudo lsof /dev/ttyS0

Und dann beenden Sie diesen Prozess, wenn dies der Fall ist.

Aus irgendeinem Grund kann unter dieser Bedingung sudo screenimmer noch auf das Gerät zugegriffen werden, aber in diesem Fall fehlen Zeichen, die vom anderen verwendet werden screen.

Stellen Sie sicher, dass der Benutzer Lese- und Schreibrechte für die Datei hat

ZB unter Ubuntu möchten Sie den Benutzer der dialoutGruppe hinzufügen : /ubuntu//a/133244/52975


1
danke lsof, ich wusste nicht, dass ich bereits zwei screensim Hintergrund
laufen habe

-2

Möglicherweise liegt ein Fehler in Ihrer Konfigurationsdatei vor

~ / .screenrc

Versuchen Sie es zu überprüfen oder erstellen Sie eine dimmy.


Dies ist wirklich ein Kommentar und keine Antwort auf die ursprüngliche Frage. Sie können jederzeit Ihre eigenen Beiträge kommentieren. Wenn Sie über eine ausreichende Reputation verfügen, können Sie jeden Beitrag kommentieren . Bitte lies Warum brauche ich 50 Ruf, um einen Kommentar abzugeben? Was kann ich stattdessen tun?
DavidPostill
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.