2011-12-10 72 views
22

私のubuntuサーバーにsvnを設定しました。私はログインできるユーザーがいます。問題は、ファイル構造を変更しようとするたびに、パーミッションが拒否されたというエラーが発生することです。SVNパーミッションが拒否されました - txn-current-lock

 
Can't open file '/var/www-svn/db/txn-current-lock': 
Permission denied 

私のレポはの/ var/WWW-svnをにあり、そのフォルダのアクセス許可が(それが正しいかどうかはわからないので、私は権限を持つ悪い午前)するSubversionユーザとグループためdrwxr-xr-xです。 svnでログインしているユーザーはsvnグループに属していますが、ファイル構造を変更することはできません。 私は何が間違っていますか?私はユーザーとそのグループのユーザーを私もログインするように変更すると機能します。 svnserve.confとで

は、アノンアクセスはとAUTHアクセス書き込みに設定されているnoneに設定されています。

(私はsudo chown -R svn:svn www-svn内部/ varディレクトリを入力して、VAR/WWW-svnを/の所有者を変更しました。)

+0

どのようにレポ(svn、http、ファイルなど)にアクセスしていますか? – prodigitalson

+0

svn(TortoiseSVN Repo Browserを使用)。 – Marwelln

+0

アクセス/認証(svnserve.conf)の設定はどうなっていますか? – prodigitalson

答えて

8

svnserveデーモンは、root権限ではなく、私のユーザのもとで実行されました。私は自分のユーザーの下で実行されているsvnserveプロセスを強制終了し、rootとして再起動しました。今すぐ動作します。

10

/var/www-svn /フォルダのSETUIDビットを追加する必要があります。トランザクションの原因として、フォルダによって表されるトランザクションを保存するためにSVNの実行中に生成されるフォルダがあります。

これはちょうど

chmod +s -R /var/www-svn/ 

は、問題を解決する必要があります作る短い言葉で意味しています。

+1

私はそのコマンドを実行しましたが、同じエラーが発生しました。 – Marwelln

6

私の問題は、私がパーミッションを適用したことに終わり、次にsvnadmin createが許可を再度設定する必要がありました。

$ sudo chown -R www-data:subversion myproject 
$ sudo chmod -R g+rws myproject 
0

なく、少なくとも最後に、あなたのリポジトリは、ユーザーとグループのsvn

sudo chown -R svn:svn /var/svn/repos

によって所有されている場合、SVNグループにアクセスできるユーザーを追加してください。 vi /etc/group

svn:x:502:user1,user2 
11

ファイルシステム上のリポジトリフォルダが...ウェブ-DAVを経由してあなたのsvnまたはApacheが取り組んでいるのと同じLinuxユーザによって

を読み取り/書き込み権限がために所有または最後にする必要があります私の場合はそれがあった:質問は非常に古いですが

$ chown -R www-data:www-data /svn/reponame 
0

、それはGoogleで上位をランク付けが、Linux上のApache/httpdの上のSubversionで一つは解決策が参考ません。

Apache、CentOS linuxでSubversionを実行しています。私にとっては問題はSELinuxに起因していて、それを無効にすることが私を助けました。

これを実行する前に、SELinuxを無効にすることは運用サーバー上ではお勧めできないため、注意が必要です。それを試みる前に、ドキュメントをよくお読みください。スチュワートはコメントで示唆したように

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Enabling_and_Disabling_SELinux-Disabling_SELinux.html

は、別のソリューションは、詳細が使用できないにもかかわらず、ファイルのアクセス権を持ついくつかの調整の周りには役立つはず、ファイルのアクセス権を更新することです。

私は1つの共有Webfactionサーバから別のものに移行した私の特定のケースでは:あなたはsudoの権限を持っていない場合は

+0

投稿されたリンクが壊れています。なぜあなたはここで答えを直接投稿していないのですか?これが、「リンクのみの回答」が目立たない理由です。今私達は決して知りません.... – Stewart

+1

@Stewart申し訳ありませんがリンクがダウンしています。検索エンジンのキャッシュやarchive.orgを使用して回復できるようには見えません。私が覚えている限り、SELinuxの問題はそれを無効にすることで解決されました。同じことをして、結果を知らせてください。 PRODサーバーでこのような操作を実行する前に、少し慎重に読んでください。 –

+0

私は最後にファイルの所有権を変更することで問題を解決しました。 – Stewart

1

。ファイルをコピーするにはリポジトリの所有権全体が自分のユーザ名に割り当てられている必要がありますが、リポジトリにアクセスできるようにするには、おそらく所有者がApacheである必要があります。私はユーザApacheにアクセスできないので、chown apache:mygroup repoを適用できませんでした。 rootアクセスがなければ、私のリポジトリルートの中にはchmod -R 777 .があり、最終的にはchownへのアクセス権がないロックファイルを削除するしかありませんでした。それは最終的に問題を解決し、私は再びコミットすることができます。

関連する問題