Angenommen, Sie verfügen über sudo
Berechtigungen, reicht der folgende Befehl aus.
sudo cp /home/USER1/FNAME /home/USER2/FNAME && sudo chown USER2:USER2 /home/USER2/FNAME
Kopiert die Datei von USER1 nach USER2 und ändert dann den Eigentümer der Kopie in / home / USER2 nach USER2
Wenn Sie nicht über sudo
Berechtigungen verfügen , müssen die beiden Benutzer sicherstellen, dass Sie über Leseberechtigungen für das Verzeichnis USER1 und über Schreibzugriff für das Verzeichnis USER2 verfügen. Wenn Sie diese Zugriffe haben, können Sie den Befehl eingeben:
cp /home/USER1/FNAME /home/USER2/FNAME
Dadurch wird die betreffende Datei kopiert, aber USER2 kann die Datei möglicherweise erst bearbeiten, wenn sie über die entsprechenden Berechtigungen verfügt.
Wenn Sie keine sudo-Rechte haben, sich aber mit den beiden Benutzern anmelden können, können Sie scp mit localhost verwenden:
quelle
Als USER1:
Als USER2:
Als USER1:
quelle
Angenommen, Sie haben ssh nicht installiert oder möchten keine Schlüssel / Geheimnisse weitergeben.
Angenommen, Benutzer1 ist in Gruppe1 und Benutzer2 ist in Gruppe2 und sowohl Benutzer1! = Benutzer2 als auch Gruppe1! = Gruppe2.
Erstellen Sie eine gemeinsame Gruppe, group3s.
Fügen Sie Benutzer1 und Benutzer2 zu Gruppe3s hinzu.
Erstellen Sie ein Verzeichnis an einem für beide Seiten zugänglichen Ort, an dem ein Benutzer Eigentümer von group3s ist, der jedoch Gruppeneigentümer ist.
Angenommen, Sie können die neue, gemeinsam genutzte Gruppe nicht erstellen und beide Benutzer in diese Gruppe einfügen.
Erstellen Sie das Verzeichnis, und geben Sie ihm 770 Berechtigungen.
Ändern Sie dann als root / admin den Gruppeneigentum in die Gruppe des anderen Benutzers.
Der Befehl chmod g + s setzt das Bit setgid so, dass für Dateien, die in das Verzeichnis gestellt werden, der Gruppeneigentum auf group2 gesetzt ist.
quelle
Jede andere Antwort hier erfordert Root-Zugriff, ermöglicht jedem Benutzer auf demselben Computer, die Datei zu kopieren, oder erfordert eine Kennwortfreigabe. Hier ist eine Methode, die dies nicht tut:
USER2
Lassen Sie (nennen wir ihn Bob) die folgenden Befehle ausführen (Sie können sie durch ein/tmp
beliebiges Verzeichnis ersetzen , in das beide Benutzer schreiben dürfen, dies ist jedoch/tmp
ideal, da es standardmäßig klebrig ist und einen böswilligen Benutzer daran hindert, diesen Prozess zu untergraben von Bob, der von der Welt gelesen werden kann, funktioniert auch):Dadurch wird eine Datei erstellt, die von der Welt geschrieben, aber nicht gelesen werden kann.
Dann hat
USER1
(sie sich Alice nennt) laufen (wenn Sie paranoid, Alice die Berechtigungen zunächst überprüfen , um sicherzustellen , dass die Datei von Bob gehört):Dies überschreibt den Inhalt von
/tmp/test.txt
. Wenn Sie die Integrität der Datei überprüfen möchten, sollte Alice auch einen Hash der Datei generieren. Zum Beispiel:Sie können die Datei stattdessen digital signieren oder eine andere Methode zur Gewährleistung ihrer Integrität verwenden.
Und schließlich verschiebt Bob die Datei und übernimmt das Eigentum daran:
Und Bob kann die Integrität prüfen, wenn er möchte. In diesem Fall sollte er überprüfen, ob nur Alice schreiben kann
/tmp/test.txt
.Wenn die Datei korrekt kopiert wurde, sollte dies keine Ausgabe anzeigen.
quelle
Bevor Sie einen Benutzer auf einen anderen kopieren, müssen Sie sich als su-Benutzer anmelden und dann den Befehl cp verwenden
quelle
USER2
sondern es bleibt so, alsroot
ob. -1