Subversion e account di root


Pad
 Share

Recommended Posts

CIao a tutti. Vorrei sottoporre a controllo di versione i sorgenti dei miei lavori ed ho pensato subito a Subversion.

C'è una domanda, però, la cui risposta potrebbe troncare sul nascere questa iniziativa: il server che ospiterà il repository è di proprietà di un'altra persona, ed entrambi conosciamo la password di root; questa persona sarà in grado di raggiungere i miei sorgenti navigando nel filesystem con la password di root?

Link to comment
Share on other sites

Ovviamente si.

Di solito l'utente fittizio dove sono riposti i documenti del server Subversion ha home directory in /home/svn.

Quindi il superuser può autenticarsi ed entrare in questa cartella, visionando il tutto.

Ma se ci pensi, questo può farlo qualsiasi proprietario di qualsiasi server di *qualsiasi protocollo* (HTTP, FTP, SSH, IRC ecc.ecc.). La logica *nix di "superutente" è a metà tra super-utente e super-visore.

Link to comment
Share on other sites

Quindi il superuser può autenticarsi ed entrare in questa cartella, visionando il tutto.

Questo è un bel problema. In cuor mio speravo che i sorgenti fossero "illeggibili" anche a root, nel senso che Subversion non li memorizzasse su filesystem, ma in qualche struttura dati interna. A quel punto root avrebbe potuto cancellare o fare chissà quali danni, ma non leggere i sorgenti in chiaro.

Conosci altri sistemi di versioning del codice che criptino i dati sul server?

Link to comment
Share on other sites

In realtà con subversion sono memorizzati in un formato non direttamente leggibile. Ma questo non vuol dire che non possa leggerli.

Anche subversion non necessita di un server. Quando si fa un checkout o un import basta mettere una url di tipo "file:" per accedere ai repository locali.

Link to comment
Share on other sites

In realtà con subversion sono memorizzati in un formato non direttamente leggibile. Ma questo non vuol dire che non possa leggerli.

Mi spieghi meglio questa cosa? In che senso non sono direttamente leggibili? Sono in qualche modo criptati e/o compressi? Come si potrebbe leggerli senza avere un utenza Subversion su quel repository?

Anche subversion non necessita di un server. Quando si fa un checkout o un import basta mettere una url di tipo "file:" per accedere ai repository locali.

Nel mio caso ho bisogno di tenere i sorgenti su un server (e quello abbiamo detto che c'è, ma è condiviso), perché capita spesso di lavorare in 2-3 persone sullo stesso progetto.

Link to comment
Share on other sites

Mi spieghi meglio questa cosa? In che senso non sono direttamente leggibili? Sono in qualche modo criptati e/o compressi? Come si potrebbe leggerli senza avere un utenza Subversion su quel repository?

Il repositori è un DB in un formato particolare. Il fatto di averli a disposizione ti consente di accedervi ed estrarne i dati come se fossero in un repository locale, quindi con un checkout. Il controllo degli accessi vale solo per gli accessi remoti. A volte non è manco subversion ad eseguire il login degli utenti ma il sistema attraverso il protocollo di trasporto usato da subversion (ad esempio ssh).

Nel mio caso ho bisogno di tenere i sorgenti su un server (e quello abbiamo detto che c'è, ma è condiviso), perché capita spesso di lavorare in 2-3 persone sullo stesso progetto.

Con subversion non puoi farci molto. Prova con GIT, che è un version control manager distribuito e forse vi consentirebbe l'eliminazione del server. È quello che viene usato per il kernel di linux.

http://git-scm.com/

In pratica ogni singola copia scaricata è una copia del repository. Non serve un repository centrale. Credo vi serva però poter comunicare tra di voi per sincronizzare le diverse istanze del repository.

Purtroppo non ti posso dire di più dato che non l'ho mai usato, se non per scaricare qualche repository.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share