„Bildschirm wird beendet“ für Nicht-Root

„Bildschirm wird beendet“ für Nicht-Root

Wenn ich versuche, screen als Nicht-Root-Benutzer auszuführen, erhalte ich:

screen

[screen is terminating]

sofort, obwohl es für root gut funktioniert

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

Beim Googeln ist mir eine Erwähnung von /etc/fstab aufgefallen, 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 willkommen.

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 ..

Antwort1

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

Das war eine gute Lösung für das Dedicated zum Hinzufügen gid=5zu Devpts in fstab. screenFunktioniert jetzt für alle Benutzer wie erwartet.

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 (soweit ich feststellen konnte) keine Möglichkeit gibt, die fstab für den Server zu bearbeiten, habe ich festgestellt, dass das Problem mit der folgenden Problemumgehung behoben wurde.

Ich dachte, ich könnte auf diesem Weg noch einmal vorbeischauen und sehen, ob es vielleicht noch jemandem weiterhilft. (Obwohl das keine sehr schöne Art ist, das zu tun.)

Im Terminal:

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

Antwort2

Stellen Sie sicher, dass niemand anderes screendieses Gerät verwendet

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

sudo lsof /dev/ttyS0

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

Aus irgendeinem Grund kann unter dieser Bedingung sudo screennoch immer auf das Gerät zugegriffen werden, aber dann fehlen dieser Verbindung Zeichen, die von der anderen Verbindung verbraucht werden screen.

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

Unter Ubuntu möchten Sie beispielsweise den Benutzer zur dialoutGruppe hinzufügen:https://askubuntu.com/a/133244/52975

Antwort3

Es könnte ein Fehler in Ihrer Konfigurationsdatei sein

~/.screenrc

Versuchen Sie, es zu überprüfen oder ein dunkles zu erstellen.

verwandte Informationen