Domanda

SCP ha un problema con l'impostazione dei permessi del file o ho configurato male il mio server?

Aggiornato (19 / Mar / 09) : In realtà: non c'è problema - ho appena frainteso il modo in cui funzionano le autorizzazioni - non cambiano quando il contenuto del file viene modificato

Caso d'uso:

Esiste un file su un server che voglio modificare chiamato " importantFile.txt " ;. Il file ha il proprietario e il gruppo di " master " ;:

ls -l importantFile.txt:
-rw-rw-r--  1 master master     7 Mar 18 08:11 importantFile.txt

Sono chiamato " slave " ma per fortuna, sono nel gruppo "master" così posso modificare il file come meglio ritengo. Tuttavia, sono uno schiavo pigro e non posso preoccuparmi di modificare il file sul server, preferirei modificare il file sul mio computer locale e SCP sul server:

echo "bored slave info" > importantFile.txt
scp importantFile.txt slave@theServerAddress:/pathToFile/importantFile.txt

Se lo faccio, il contenuto del file sul server viene caricato correttamente e il timestamp del file viene aggiornato ma i permessi del file non cambiano, il file è ancora di proprietà di " master " ;. Questo è un problema perché se " slave " ha caricato contenuti non validi, nessuno avrebbe saputo che era " slave " chi ha causato il problema, "maestro" sembrerebbe colpevole.

Forse devo impostare un umask? se sì dove? Ho provato .bash_profile senza successo e non ho trovato nulla su Google su umask in / etc / ssh / sshd_config .

È stato utile?

Soluzione

Non è niente di speciale in scp: prova ad accedere al server come slave e a modificare il file usando il tuo editor di testo preferito ... Scoprirai lo stesso comportamento ... Scrivere su un file non ti rende il proprietario del file.


Esempio:

come 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

come utente (nel gruppo vboxusers)

>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

Altri suggerimenti

Devi eliminare il file per sovrascriverlo. Se sei in grado di farlo dipende dalle autorizzazioni e dalla proprietà della directory. Non è possibile dirottare la proprietà di un file già esistente. L'autorizzazione di scrittura che hai è applicata solo sul contenuto del file.

Sembra che tu possa configurare il modo in cui Emacs gestisce questo tramite la variabile backup-by-copying-when-mismatch (consulta il manuale di Emacs o digita Chv backup-by-copying-when -mismatch in Emacs).

In realtà ho presentato una segnalazione di bug a riguardo, perché ho pensato era un bug in Tramp.

Avevo frainteso il modo in cui funzionano i file, modificando il contenuto dei file non cambia la proprietà o il gruppo.

Perché la confusione? EMACS - Ogni volta che stavo modificando un file che stavo usando Emacs ed Emacs cambia il proprietario e il gruppo con l'utente corrente. Lo fa perché crea un file di backup al momento del risparmio spostando il " nomefile " a " nomefile ~ " e creando un nuovo file chiamato " nomefile " - poiché è un nuovo file, ha i permessi dei file degli utenti attuali. Immagino che questo sia 1 per fan di VI?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top