Hallo,
ich habe eben dem Verzeichnis /var/ die CHMod Rechte 0777 gegeben, da Screen gemeckert hatte, dass das Verzeichnis die Rechte 0777 benötigt. Irgendwie komisch, der Fehler kam vorher nie. Als ich ihm dann die Rechte gab, und mich beim nächsten mal connecten wollte, kommt immer der Fehler von Putty:
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wie denn?
Da kommt ja immer der Fehler.
Mein Server wurde auch nicht, er ist bestens abgesichert mit Tipps vom Provider und einem guten Freund der Sysadmin ist.
Ich habe einfach nur den Fehler begangen und dem Verzeichnis /var/ die Rechte 0777 gegeben.
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Im Zweifel durch deinen Provider bzw. das Webinterface zu deinem Root-Server.
Du kannst auch versuchen, die Rechte für /var über das Rescue-System auf 0755 zurückzusetzen, sofern du wirklich nur /var geändert hast und nicht alle darin enthaltenen Dateien.
Wenn du kein Backup hast oder die Rechte von einem anderem gleich installiertem System replizieren kannst, kann ich auch nur dringend zu einer Neuinstallation/Reinitalisierung raten.
Kann mir mal Jemand verklickern, warum screen 0777 auf /var benötigen sollte? Meines Wissens nach kommt dafür nur ein gecracktes System (vermutlich ein RootKit) in Frage...
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Das Verzeichnis /var/run/screen/ muss entsprechende Rechte besitzen, wenn das SUID-Bit nicht gesetzt ist, damit jeder Benutzer eine Screen-Session starten kann ohne $SCREENDIR gesetzt zu haben.
Hmm, bei mir ("nacktes" Debian Etch) ist die $SCREENDIR nicht gesetzt, in env finde ich auch nichts entsprechendes. Trotzdem will screen keine Schreibrechte in /var, auch nicht in /var/run. Stattdessen wird unter /var/run/screen ein Verzeichnis S-<user> angelegt, mit Owner <user> und Berechtigung 0700. Alle Verzeichnisse oberhalb (also /var, /var/run und /var/run/screen) gehören root:root bzw. root:utmp (/var/run/screen) und haben Berechtigung 0755 (bis auf /var/run/screen mit 0775). 0777 kommt nirgendwo vor, sonst könnte ja jeder eine Screen-Session kapern :roll:
jfreund wrote:0777 kommt nirgendwo vor, sonst könnte ja jeder eine Screen-Session kapern :roll:
Schau mal, ob bei /usr/bin/screen das SUID-Bit gesetzt ist. ;)
Das 0777 für /var/run/screen/ ist nur notwendig, wenn dieses nicht gesetzt ist, damit jeder Benutzer ein eigenes Verzeichnis ("S-${USER}") anlegen kann.
Oder hab ich mich jetzt irgendwie verfranst?
EDIT: screen(1) sagt dazu:
The "socket directory" defaults either to $HOME/.screen or simply to /tmp/screens or preferably to /var/run/screen chosen at compile-time. If screen is installed setuid-root, then the administrator should compile screen with an adequate (not NFS mounted) socket directory. If screen is not running setuid-root, the user can specify any mode 700 directory in the environment variable $SCREENDIR.
Roger Wilco wrote:Schau mal, ob bei /usr/bin/screen das SUID-Bit gesetzt ist. ;)
Das 0777 für /var/run/screen/ ist nur notwendig, wenn dieses nicht gesetzt ist, damit jeder Benutzer ein eigenes Verzeichnis ("S-${USER}") anlegen kann.
Oder hab ich mich jetzt irgendwie verfranst?
Nein, hast Du nicht. Das SUID-Bit ist bei mir gesetzt (hat apt gleich so eingerichtet) - sorry für die Verwirrung :oops: . Ich frage mich bloß, wie es der OP schaffen konnte, dass es bei ihm nicht (mehr) funktioniert. Wenn er sein screen über's Paketmanagement installiert hat, müsste eigentlich das SUID-Bit gesetzt werden - es sei denn, Ubuntu verwendet hier nicht den Debian-Style. Dann sollte aber /var/run/screen 0777 sein und alles oberhalb 0755. Entweder er hat hier gründlich was verschraubt, oder bei Ubuntu ist ein Bug-Report fällig :-k .
Also gemäss der zitierten manpage benötigt screen 0700 für das Directory in dem der Socket abgelegt wird, aber kein 0777, daher bleibt mein Verdacht eines gecrackten Systems bestehen, zumal das Verlangen nach 0777 "plötzlich" auftrat. Riecht für mich nach wie vor nach einem statisch kompilierten eingeschleusten screen Binary (RootKit)...
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Joe User wrote:Also gemäss der zitierten manpage benötigt screen 0700 für das Directory in dem der Socket abgelegt wird, aber kein 0777
0700 (nein, nicht die Vorwahl ;)) gilt nur, wenn der Benutzer auch Eigentümer des Verzeichnisses ist, das er in $SCREENDIR angibt. Bei /var/run/screen/ ist das ja nicht der Fall.
Außerdem verhält sich screen bei mir genau so (nicht als root eingeloggt):
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.