550 Permission Denied

Blader

New Member
Ich hab jetzt ja alle Daten von meinem alten Server auf den neuen mit rcp kopiert. Allerdings kann ich jetzt mit meinem FTP Programm weder Dateien entfernen, noch bearbeiten. Es kommt immer "550 Permission Denied". Finde das sehr merkwürdig, auf dem alten Server konnt ich das ja auch ohne Probleme machen. Lade ich eine neue Datei via FTP hoch, ist es kein Problem diese zu löschen und zu verändern.

Hat das eventuell etwas mit Chmod zu tun? Aber das ist ja eigentlich das selbe wie beim alten Server.

Gruß Blader
 
Das hat was mit den Benutzern zu tun :)

Hast du die Benutzerrechte beibehalten beim übertragen?
Mit welchen Benutzer verbindest du dich jetzt per FTP? Welche Benutzer / Gruppen haben die Dateien die du nicht bearbeiten kannst?

Welche Benuzter / Gruppen ein Verzeichnis hat findest du raus mit:
Code:
ls -l /var/www/web1/html
 
Ja, ich habe Benutzerrechte technisch nichts verändert. Das ganze einfach nur übertragen.

Also ich habe deinen Befehl ausgeführt. Sieht folgendermaßen aus:

-rw-r--r-- 1 root root 25483 Oct 18 23:19 warn.php

Das natürlich bei allen anderen Dateien und Verzeichnissen ebenfalls.

Verbinden tu ich mich mit dem Benutzer "web1f1", es sind alle Verzeichnisse und Dateien betroffen die ich von Server alt auf Server neu kopiert habe.

Mfg Blader
 
....so:
Wie du siehst: Die Datei hat den Benuzter: root und die Gruppe: root.

Wenn du jetzt als web1f1 versuchst auf die Datei zuzugreifen bekommst du ein "Zugriff verweigert" weil du als normaler Benuzter versuchst die Dateien vom Administrator (root) zu lesen / schreiben / auszuführen.

Das kann natürlich so nicht richtig sein.

Du musst die Dateien erst noch wieder dem richtigen Benutzer / Gruppe zuordnen.
Das funktioniert so:
Code:
chown benutzer:gruppe datei
In diesem Falle ist es fast klar:
Code:
chown web1:gruppe warn.php
Allerdings weiß ich jetzt nicht welcher Gruppe die Confixxnutzer zugehörig sind. Das kannst du über die /etc/passwd - /etc/group rausfinden ODER du lädst einfach eine neue Datei als web1 hoch und guckst mit welchen Benutzer / Gruppe sie dann erstellt wird. Nehmen wir an es ist die Gruppe "www-data", so müsste der Befehl lauten:
Code:
chown web1:www-data warn.php
Dannach sollte der Zugriff wieder auf die Datei gewährleistet sein.
Gleiches gilt für Verzeichnisse:
Code:
chown web1:www-data /var/www/web1
Allerdings ist hier jetzt NUR das Verzeichnis mit den richtigen Rechten ausgestattet, nicht aber die Dateien dortdrin oder die Unterverzeichnisse. Damit dies auch geschieht nimmt man die Recursiv-Option noch hinzu:
Code:
chown web1:www-data /var/www/web1 -R
Damit werden alle Dateien und Verzeichnisse unterhalb von /var/www/web1 dem Benutzer web1 und der Gruppe www-data zugeordnet.

Abschließend noch die Frage: Wie konnte das passieren? Die Antwort ist relativ simpel: Als du die Dateien per SCP kopiert hast, hast du dies als root gemacht, also hat der Benutzer root sich alle Dateien von deinem alten Server geholt und sie auf deinen jetzigen Server geschrieben, dabei hat er die alten Rechte ignoriert und so werden sie logischerweise als der Benutzer wieder erstellt, der gerade diesen Befehl ausführt.
Ich weiß nicht ob es das auch für scp gibt, aber besser wäre es gewesen das ganze per rsync zu machen, dort hast du nämlich mit den Optionen -o -g (--owner / --group) die Möglichkeit die Benutzerrechte beim kopieren erhalten zu lassen.
Bei scp geht das soweit ich mich erriner nicht, dort kannst du lediglich die erstell-Zeit erhalten.
 
Danke für deine ausführliche Erklärung und Beschreibung. :)

Habe es so gemacht wie du angegeben hast und es funktioniert jetzt auch wieder. ;)

Gruß Blader
 
Back
Top