Antwort1
Es sieht so aus, als würden Sie versuchen, scp
eine Datei von einer Maschine (oder virtuellen Maschine) auf eine andere zu übertragen. Wenn Sie den scp
Befehl eingeben, authentifizieren Sie sich beim Remote-System mit dem Benutzer ssgyee
, da dies der Benutzer ist, den Sie im Befehl angeben. Dies stimmt nicht mit dem Benutzer überein fabric
, der wahrscheinlich der Eigentümer des /home/fabric
Verzeichnisses ist.
Als sehr schnellen Test können Sie versuchen, scp
die Datei in das Remote /tmp
-Verzeichnis oder ein Verzeichnis in zu verschieben /home/ssgyee
. Sie sollten Schreibberechtigung für diese Verzeichnisse haben und scp
in diesem Testfall funktionieren.
Sehen Sie sich auf dem Remote-System die Berechtigungen des Zielverzeichnisses an:
ls -lsha /home/
Ich vermute, dass dies fabric:fabric
den Besitz von anzeigt /home/fabric
, und das ist eine vernünftige und sichere Vorgabe. Jeder Benutzer hat ein Verzeichnis, /home
das er kontrolliert. Wenn Sie möchten, dass der in das Verzeichnis schreiben kann /home/fabric
, müssen Sie sich als authentifizieren oder der Gruppe mit oder durch Bearbeiten fabric
hinzufügen . Zusätzlich zur Zugehörigkeit zur Gruppe benötigt der (oder jedes andere Verzeichnis darin) Gruppen-Lese-, Schreib- und Ausführungsberechtigungen.ssgyee
fabric
groupadd
/etc/group
/home/fabric
Dateien gehören Benutzern und Gruppen. Dateien haben spezifische Berechtigungen, pro Benutzer, Gruppe und dann „alle anderen“. Linux-Benutzer und -Gruppen sowie DateiEigentum und Berechtigungensind beim Umgang mit Linux unbedingt zu verstehen.
Denken Sie daran, dass Dateiberechtigungen eine Sicherheitsfunktion sind. Wenn Sie anderen erlauben, Dateien zu lesen, zu schreiben und auszuführen, erhöhen Sie das Risiko, dass Dateien manipuliert, geändert oder gelöscht werden. Generell sollten Sie Lese- und Schreibberechtigungen nur denjenigen erteilen, die sie wirklich benötigen.