scp Dateieinstellung nicht korrekt Besitzer
-
19-08-2019 - |
Frage
Hat SCP ein Problem Dateiberechtigungen einstellen oder habe ich meinen Server Fehlkonfiguration?
Aktualisiert (19 / Mar / 09) : Eigentlich: Es gibt kein Problem - ich habe nur die Art und Weise Berechtigungen falsch verstanden arbeiten - sie ändern sich nicht wenn der Dateiinhalt geändert
Anwendungsfall:
Es gibt eine Datei auf einem Server, die ich „importantFile.txt“ genannt bearbeiten möchten. Die Datei hat Eigentümer und die Gruppe von „Master“:
ls -l importantFile.txt:
-rw-rw-r-- 1 master master 7 Mar 18 08:11 importantFile.txt
Ich bin „Slave“ genannt, aber zum Glück, ich bin in der Gruppe „Master“ so dass ich die Datei bearbeiten können, wie ich es sehen. Aber ich bin ein fauler Sklave und kann nicht gestört werden, um die Datei auf dem Server zu bearbeiten, ich würde es vorziehen, um die Datei auf meinem lokalen Rechner und SCP an den Server zu bearbeiten:
echo "bored slave info" > importantFile.txt
scp importantFile.txt slave@theServerAddress:/pathToFile/importantFile.txt
Wenn ich dies tut, wird der Inhalt der Datei auf dem Server hochgeladen Fein- und der Zeitstempel der Datei aktualisiert, aber die Rechte der Datei nicht ändern, wird die Datei immer noch von „Master“ gehört. Dies ist ein Problem, denn wenn „Slave“ schlechte Inhalte hochgeladen, würde niemand wissen, es „Slave“ war, der das Problem verursacht hat, „Master“ aussehen würde schuldig.
Vielleicht muss ich einen umask gesetzt? wenn ja, wo? Ich habe versucht, Bash_profile ohne Erfolg und haben nichts auf Google über umask in /etc/ssh/sshd_config
gefunden.
Lösung
Das ist nichts Besonderes scp - versuchen, auf den Server als Slave Anmeldung und Bearbeitung der Datei mit Ihrem bevorzugten Texteditor ... Sie werden das gleiche Verhalten finden auftritt ... Schreiben in eine Datei, die Sie nicht machen die Besitzer der Datei.
Beispiel:
als root
#cd /tmp
#mkdir fubar
#chgrp vboxusers fubar
#cd fubar/
#touch testfile
#chgrp vboxusers testfile
#chmod g+w . testfile
#ls -al
total 16
drwxrwxr-x 2 root vboxusers 4096 2009-03-19 10:30 .
drwxrwxrwt 15 root root 12288 2009-03-19 10:29 ..
-rw-rw-r-- 1 root vboxusers 0 2009-03-19 10:30 testfile
#echo foo > testfile
#ls -al
total 20
drwxrwxr-x 2 root vboxusers 4096 2009-03-19 10:30 .
drwxrwxrwt 15 root root 12288 2009-03-19 10:29 ..
-rw-rw-r-- 1 root vboxusers 4 2009-03-19 10:30 testfile
als Benutzer (in vboxusers Gruppe)
>cd /tmp/fubar
>ls -al
total 20
drwxrwxr-x 2 root vboxusers 4096 2009-03-19 10:30 .
drwxrwxrwt 15 root root 12288 2009-03-19 10:29 ..
-rw-rw-r-- 1 root vboxusers 4 2009-03-19 10:30 testfile
>echo bar >> testfile
>ls -al
total 20
drwxrwxr-x 2 root vboxusers 4096 2009-03-19 10:30 .
drwxrwxrwt 15 root root 12288 2009-03-19 10:29 ..
-rw-rw-r-- 1 root vboxusers 8 2009-03-19 10:31 testfile
>vim testfile
>ls -al
total 20
drwxrwxr-x 2 root vboxusers 4096 2009-03-19 10:31 .
drwxrwxrwt 15 root root 12288 2009-03-19 10:31 ..
-rw-rw-r-- 1 root vboxusers 12 2009-03-19 10:31 testfile
>cat testfile
foo
bar
baz
Andere Tipps
Sie haben die Datei löschen, um es zu überschreiben. Ob Sie in der Lage sind zu tun, hängt die auf die Berechtigungen des Verzeichnisses und Eigentum. Hijacking Eigentum an einer bereits bestehenden Datei ist nicht möglich. Die Schreibberechtigung Sie haben, ist nur auf den Inhalt der Datei angewendet wird.
Es scheint, können Sie festlegen, wie Emacs mit dieser befasst sich durch die backup-by-copying-when-mismatch
Variable (siehe Emacs-Handbuch oder Typ C-h-v backup-by-copying-when-mismatch
in Emacs).
Ich legte tatsächlich einen Bugreport darüber, weil ich dachte, es war ein Fehler in Tramp.
hatte ich die Art und Weise falsch verstanden Dateien arbeiten, ändern Dateiinhalte Eigentum oder Gruppe nicht verändern.
Warum die Verwirrung? EMACS - Jedes Mal, wenn ich eine Datei wurde bearbeite ich Emacs wurde mit und Emacs funktioniert die Eigentümer und die Gruppe für den aktuellen Benutzer ändern. Es tut dies, weil es eine Backup-Datei zu speichern Zeit macht, indem Sie den „Dateiname“ bewegen zu „filename ~“ und eine neue Datei namens „Dateiname“ zu schaffen - weil es eine neue Datei ist, hat es die aktuellen Benutzerberechtigungen einreichen. Ich denke, die 1up bis VI Fans sind?