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:)

È stato utile?

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".

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