Aiuto per SVN + SSH permessi con l'installazione CentOS / GSA
Domanda
farò del mio meglio per spiegare come sto cercando di creare questo sistema.
Immaginate un server di produzione in esecuzione GSA con vari siti. Chiameremo questi siti ... site1, site2, site2
Ora, con la configurazione GSA, ogni sito ha un utente / gruppo definito per loro, li terremo questi utenti / gruppi chiamati site1, site2 per motivi di semplicità.
Ora, l'aggiornamento di questi siti viene eseguita utilizzando SVN, e attraverso l'uso di un post commettere script per l'aggiornamento automatico questi siti (con .svn bloccato attraverso la configurazione di Apache).
Ci sono due manutentori regolari di questi siti, che chiameremo li Joe e Bob. Joe e Bob entrambi hanno accesso a riga di comando al server tramite appenderci rispettivi conti limitate.
Così ho fatto la parte più semplice, è riuscito ad ottenere SVN lavorare con questi "manutentori" in modo che si verifica quando uno SVN commit, le modifiche vengono estratti e andare a vivere perfettamente.
Ecco il CAVET, e, infine, il mio problema. autorizzazioni utente.
Con il mio test di questa configurazione, ho solo riuscito a farlo funzionare, dando le autorizzazioni di ciò che viene aggiornata di 777, in modo che Joe e Bob possono leggere e scrivere l'accesso alle directory webfront per ognuno dei siti.
Quindi, un esempio di come è impostato ora:
Joe e Bob sia appartengono ad un gruppo chiamato "Dev". Ho le cartelle master / svn allestiti sia per lettura e scrittura a questo gruppo, e funziona benissimo. Messaggio commettere trigger, aggiorna il sito, e quindi imposta 777 su ogni file all'interno del webfront.
Poi ho cambiato questo per cercare di fattore di aggiornamenti dei permessi di gruppo, invece di dritto 777.
Ogni cartella in / home / site1 / public_html intially viene dato un chmod di 664, e ogni cartella 775
Il che sembra un po 'qualcosa di simile
drwxrwxr-x .
drwxrwxr-x ..
drwxrwxr-x site1 site1 my_test_folder
-rw-rw-r-- site1 site1 my_test_file
Quindi sito1 è proprietario sthe e proprietario del gruppo di quei file e cartelle. Così ho poi aggiunto sito1 a gruppi secondari Joe e bob in modo che l'aggiornamento SVN consentirà correttamente l'accesso a questi file.
qui sta il problema ora.
Quando desidero aggiungere un file o una cartella / home / site1, dire Bobs_file, allora sembra che questo
drwxrwxr-x .
drwxrwxr-x ..
drwxr-xr-x Bob dev bobs_folder
drwxrwxr-x site1 site1 my_test_folder
-rw-rw-r-- Bob dev bobs_file
-rw-rw-r-- site1 site1 my_test_file
Come posso ottenere in modo che con la serie di autorizzazioni utente Bob ha a disposizione, per cambiare il proprietario proprietario e il gruppo di quel file per riflettere "sito1" "sito1". Come Bob appartiene a Dev posso impostare correttamente i permessi con chmod, ma sembra chgrp sta gettando indietro errori di funzionamento.
Ora, questo è stato lungo senza fiato abbastanza per dare una panoramica di esattamente quello che sto cercando di realizzare, solo in caso ho intenzione di questo ass-over-tetta e c'è una soluzione molto più facile. Ecco i miei obiettivi
- 2 persone aggiornare
- più account utente specificati data la struttura del GSA
- Cercando di mantenere i permessi maestro utente / gruppo di file di e cartelle l'account utente originale, e non il conto della updatee.
- mi piace la sicurezza di SVN + SSH su solo SVN.
- Non vuole correre tutto questo nel corso di root.
Spero che questo aveva un senso, e grazie in anticipo:)
Soluzione
Prova:
$ chown -R site1:site1 /home/site1
In questo modo ricorsivo modificare tutti i file nella directory per essere di proprietà dell'utente "sito1" nel gruppo "sito1".