Je viens de configurer svn sur mon serveur Ubuntu. J'ai un utilisateur auquel je peux me connecter. Le problème est que chaque fois que j'essaie de modifier la structure du fichier, une erreur d'autorisation est refusée.
Impossible d'ouvrir le fichier '/var/www-svn/db/txn-current-lock': Permission refusée
Mon dépôt est dans/var/www-svn et l’autorisation sur ce dossier est drwxr-xr-x
pour l’utilisateur ET le groupe svn (je ne suis pas sûr avec les autorisations, donc je ne sais pas si c’est correct). Mon utilisateur auquel je me connecte sur svn fait partie du groupe svn, mais je ne peux pas changer la structure du fichier. Qu'est-ce que je fais mal? Cela fonctionne si je change l'utilisateur et le groupe du dossier en mon utilisateur que je me connecte aussi.
Dans svnserve.conf, anon-access est défini sur none et auth-access est défini sur write.
(J'ai changé le propriétaire de/var/www-svn en tapant Sudo chown -R svn:svn www-svn
dans le répertoire/var.)
Le démon svnserve a fonctionné sous mon utilisateur, pas en tant que root. J'ai tué les processus svnserve s'exécutant sous mon utilisateur et les ai redémarrés en tant que root. Cela fonctionne maintenant.
Le dossier du référentiel sur le système de fichiers doit appartenir à/ou enfin posséder l’autorisation de lecture/écriture de le même utilisateur linux que votre svn ou Apache via web-dav travaille actuellement ...
Dans mon cas c'était:
$ chown -R www-data:www-data /svn/reponame
Vous devez ajouter le bit SETUID pour le dossier/var/www-svn /, car sous les transactions, des dossiers seront générés lors de l'exécution de SVN pour préserver les transactions représentées par des dossiers.
Cela signifie en quelques mots faire juste
chmod +s -R /var/www-svn/
devrait résoudre le problème.
Mon problème a fini par être que j'ai appliqué des autorisations, puis svnadmin create
, donc l'autorisation de configuration a été nécessaire à nouveau.
$ Sudo chown -R www-data:Subversion myproject
$ Sudo chmod -R g+rws myproject
Cela semble être une question pour superuser.com… . À première vue, le groupe svn ne dispose pas de l'autorisation d'écriture sur ce dossier. Alors peut-être est-ce le problème… __. Jetez un coup d'œil à ceci http://www.svnforum.org/threads/35493-Can-t-open-db-txn-current-lock-permission-denied
Si vous n'avez pas les droits Sudo:
Dans mon cas particulier, je migrais d'un serveur Webfaction partagé à un autre. La copie des fichiers doit avoir attribué la propriété entière du référentiel à mon nom d'utilisateur, alors que le propriétaire devrait être Apache pour que le référentiel soit accessible. Je ne pouvais appliquer aucun chown Apache:mygroup repo
car je n'ai pas accès à l'utilisateur Apache. Sans avoir d'accès root, le seul moyen de le faire fonctionner était chmod -R 777 .
dans la racine de mon référentiel, en supprimant éventuellement un fichier de verrouillage pour lequel je n'avais aucune autorisation à chown. Cela a finalement résolu le problème et je pouvais m'engager à nouveau.
Last but not least, si votre référentiel appartient à l'utilisateur et au groupe svn
(Sudo chown -R svn:svn /var/svn/repos
)
Assurez-vous d’ajouter les utilisateurs qui peuvent y accéder au groupe svn .vi /etc/group
svn:x:502:user1,user2