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.

War es hilfreich?

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?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top