Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
aide:developpement:subversion_ssh [05/03/2010 09:18]
De Germain Frantz
aide:developpement:subversion_ssh [23/02/2016 15:32]
De Germain Frantz
Ligne 1: Ligne 1:
 +<note warning>​Page obsolète, utilisez plutôt :
 +  * Enseignants : [[https://​services.renater.fr/​sourcesup/​index|SourceSup]],​ fourni et maintenu par RENATER.
 +  * Étudiants : [[https://​github.com/​|github]],​ [[https://​git.framasoft.org|gitlab]],​ etc...
 +</​note>​
  
 ===== Le principe ===== ===== Le principe =====
  
-Utiliser l'​infrastructure SSH existante de nos serveurs.+Utiliser l'​infrastructure SSH existante de nos serveurs ​pour l'​identification.
  
 **NB :** pas d'​accès possible par navigateur. **NB :** pas d'​accès possible par navigateur.
Ligne 9: Ligne 13:
 personnelle et donne accès à ce dépôt à un autre utilisateur - <fc #​6495ed>​USER2</​fc>​ -. personnelle et donne accès à ce dépôt à un autre utilisateur - <fc #​6495ed>​USER2</​fc>​ -.
  
 +====== Identification via SSH ======
  
  
 ===== Création du dépôt par USER1 (propriétaire du dépôt) ===== ===== Création du dépôt par USER1 (propriétaire du dépôt) =====
  
 +  USER1> mkdir ~/​forge_html/​SVN/​
 +  USER1> cd ~/​forge_html/​SVN/​
   USER1> svnadmin create mondepot   USER1> svnadmin create mondepot
   USER1> chmod 700 mondepot   USER1> chmod 700 mondepot
Ligne 32: Ligne 39:
 la modifie comme suit.\\ la modifie comme suit.\\
 \\ \\
-**NB :** si <fc #​cd5c5c>​USER1</​fc>​ est son propre client, il a juste besoin d'​ajouter sa clé publique créée sur sa machine cliente au fichier //​~/​.ssh/​authorized_keys// ​de forge.+**NB :** si <fc #​cd5c5c>​USER1</​fc>​ est son propre client, il a juste besoin d'​ajouter sa clé publique créée sur sa machine cliente au fichier //​~/​.ssh/​authorized_keys// ​sur sirius.
  
 ==== clé publique USER2 d'​origine : ==== ==== clé publique USER2 d'​origine : ====
Ligne 60: Ligne 67:
 Format de base des URL à utiliser par <fc #​6495ed>​USER2</​fc>​ pour les commandes svn : Format de base des URL à utiliser par <fc #​6495ed>​USER2</​fc>​ pour les commandes svn :
  
-<​del>​**svn+ssh:**%%//​%%**<​fc #​cd5c5c>​USER1</​fc>​@serveur/​chemin/​home/<​fc #​cd5c5c>​USER1</​fc>/​son/​depot**</​del>​ \\+==== Pour un dépôt situé ailleurs que sur sirius ​====
  
-Avec la mise en place de la [[aide:​developpement:​archi_subversion|nouvelle organisation des dépôts]], l'URL devient ​+**svn+ssh:**%%//​%%**<​fc #​cd5c5c>​USER1</​fc>​@serveur/​chemin/​home/<​fc #​cd5c5c>​USER1</​fc>/​son/​depot** ​
  
-**svn+ssh:​**%%//%%**<fc #​cd5c5c>​USER1</​fc>​@serveur/​chemin/​home/<​fc #​cd5c5c>​USER1</​fc>/​forge_html/​SVN**+==== Pour un dépôt créé sur sirius avant le 19/03/10 : ==== 
 +   
 +(Tiens compte de la mise en place de la [[aide:​developpement:​archi_subversion|nouvelle organisation des dépôts]])
  
 +**svn+ssh:​**%%//​%%**<​fc #​cd5c5c>​USER1</​fc>​@janus.info.univ-angers.fr/​chemin/​home/<​fc #​cd5c5c>​USER1</​fc>/​forge_html/​SVN**
 +
 +==== Pour un dépôt créé sur sirius après le 19/03/10 :  ==== 
 +
 +(Tiens compte de la mise en place de la [[aide:​developpement:​archi_subversion|nouvelle organisation des dépôts]])
 +
 +**svn+ssh:​**%%//​%%**<​fc #​cd5c5c>​USER1</​fc>​@janus.info.univ-angers.fr/​chemin/​home/<​fc #​cd5c5c>​USER1</​fc>/​forge_html/​SVN/​mondepot**
 +
 +:!: sirius, janus et forge désignent la même machine, mais l'​accès ssh à forge.info.univ-angers.fr n'est plus possible.
 +
 +:!: depuis l'​extérieur du réseau du département,​ janus.info.univ-angers.fr ne répond pas aux pings => utiliser ssh pour vérifier qu'une connexion est possible.
 +
 +\\
 On voit que <fc #​6495ed>​USER2</​fc>​ se connecte en tant que <fc #​cd5c5c>​USER1</​fc>​. Toutes les restrictions nécessaires à la On voit que <fc #​6495ed>​USER2</​fc>​ se connecte en tant que <fc #​cd5c5c>​USER1</​fc>​. Toutes les restrictions nécessaires à la
 sécurité et l'​attribution des modifications dans le dépôt sont gérées dans le fichier ​ sécurité et l'​attribution des modifications dans le dépôt sont gérées dans le fichier ​
Ligne 85: Ligne 107:
   USER2> clientsvn   USER2> clientsvn
  
-===== Possiblité ​de gestion ​des authorisations ​ par USER1 (propriétaire du dépôt) =====+===== Si le serveur utilise un port SSH autre que celui par défaut (22) ===== 
 + 
 +Pour le client svn en ligne de commande sous Linux. 
 + 
 +Dans le fichier //​~/​.subversion/​config//,​ dans la section //​[tunnels]//,​ ajouter une ligne comme : 
 + 
 +  ssh<​xy>​ = ssh -p <xy>  
 + 
 +Remplacer <xy> par le numéro de port SSH par lequel la machine distante est accessible, et utiliser le format de base d'URL suivant : 
 + 
 +**svn+ssh<​fc #​cd5c5c><​xy></​fc>:​**%%//​%%**<​fc #​cd5c5c>​USER1</​fc>​@janus.info.univ-angers.fr/​chemin/​home/<​fc #​cd5c5c>​USER1</​fc>/​forge_html/​SVN/​mondepot** 
 + 
 +====== Autorisations ====== 
 + 
 +===== Gestion ​des permissions d'​accès ​ par USER1 (propriétaire du dépôt) ===== 
 + 
 +<note important>​Important pour un dépôt partagé</​note>​
  
 ==== fichiers de configuration ==== ==== fichiers de configuration ====
Ligne 91: Ligne 129:
 Ils sont dans le sous-répertoire //conf// du répertoire de dépôt de <fc #​cd5c5c>​USER1</​fc>​. Ils sont dans le sous-répertoire //conf// du répertoire de dépôt de <fc #​cd5c5c>​USER1</​fc>​.
  
-    * //svnserve.conf// :  +=== svnserve.conf ​=== 
-Modifier les paramètres //​auth-access// ​et //password-db// +  
-    * //authz// : +Modifier les paramètres //​auth-access//​//anon-access// et //​authz-db//​
-C'est dans ce fichier (si //authz// est la valeur donnée à //​authz-db//​) que sont configurés les droits d'​accès.+
  
-Voir [[http://​svnbook.red-bean.com/​nightly/​en/​svn.serverconfig.pathbasedauthz.html|Path-Based Authorization]]+Exemple de fichier //​svnserve.conf//​ : 
 +<code php> 
 +[general] 
 +### These options control access to the repository for unauthenticated 
 +### and authenticated users. ​ Valid values are "​write",​ "​read",​ 
 +### and "​none"​. 
 +anon-access = none 
 +auth-access = write 
 + 
 +authz-db = authz 
 +</​code>​ 
 + 
 +=== authz === 
 + 
 +C'est dans ce fichier que sont configurés les droits d'​accès (si //authz// est la valeur donnée à //​authz-db//​ dans //​svnserve.conf//​). 
 + 
 +Exemple de fichier //authz// : 
 +<code php> 
 +[groups] 
 +lesautres = toto,titi 
 + 
 +[/] 
 +# droits de lecture/​écriture 
 +moi = rw 
 +elle = rw 
 +# droits de lecture 
 +lui = r 
 +# droits de lecture pour le groupe "​lesautres"​ 
 +@lesautres = r 
 +# aucun droit pour tous le reste du monde 
 +* = 
 +</​code>​ 
 + 
 +Voir [[http://​svnbook.red-bean.com/​nightly/​en/​svn.serverconfig.pathbasedauthz.html|Path-Based Authorization]] ​pour plus de détails.
  
 <note warning> <note warning>
Ligne 103: Ligne 173:
 </​note> ​ </​note> ​
  
 +====== Documentation ======
 +
 +===== sur une commande =====
 +
 +  man <​commandesvn>​
 +
 +  <​commandesvn>​ help
 +  ​
 +  <​commandesvn>​ help <​sous-commande>​
 +
 +===== globale =====
 +
 +/​usr/​share/​doc/​subversion/​ : Particulièrement "//​Débuter avec Subversion//" ​
 +(/​usr/​share/​doc/​subversion/​french/​getting_started.html)
  
 +http://​fr.wikipedia.org/​wiki/​Subversion_(logiciel)\\
 +http://​en.wikipedia.org/​wiki/​Subversion\\
 +http://​svnbook.red-bean.com/​\\
 +http://​dev.nozav.org/​intro_svn.html (fr)
  
-===== Clients =====+====== Clients ​======
  
 Voir aussi [[http://​fr.wikipedia.org/​wiki/​Comparaison_des_clients_pour_Subversion|Comparaison des clients pour Subversion]] Voir aussi [[http://​fr.wikipedia.org/​wiki/​Comparaison_des_clients_pour_Subversion|Comparaison des clients pour Subversion]]
Ligne 112: Ligne 200:
 ==== Clients subversion Linux : ==== ==== Clients subversion Linux : ====
  
-Installés sur forge et/ou facilement installables sur les portables :+Installés sur sirius ​et/ou facilement installables sur les portables :
  
   * svn (ligne de commande)   * svn (ligne de commande)
aide/developpement/subversion_ssh.txt · Dernière modification: 23/02/2016 15:32 par De Germain Frantz
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0