web-dev-qa-db-ja.com

SVN許可が拒否されました-txn-current-lock

Ubuntuサーバーでsvnをセットアップしました。ログインできるユーザーがいます。問題は、ファイル構造を変更しようとすると、許可拒否エラーが発生することです。

ファイル '/ var/www-svn/db/txn-current-lock'を開けません:
 Permission denied 

私のレポジトリは/ var/www-svnにあり、そのフォルダのパーミッションはユーザーANDグループのdrwxr-xr-xですsvn(パーミッションが悪いので「それが正しいかどうかわからない)。 svnでログインするユーザーはsvnグループに属しますが、ファイル構造を変更できません。 私は何を間違えていますか?フォルダーのユーザーとグループをログインしたユーザーに変更しても機能します。

Svnserve.confでは、anon-accessnoneおよびauth-accesswriteに設定されます。

(/ varディレクトリ内にSudo chown -R svn:svn www-svnと入力して、/ var/www-svnの所有者を変更しました。)

32
Marwelln

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

8
Marwelln

web-dav経由のsvnまたはApacheが作業している同じLinuxユーザーがファイルシステム上のリポジトリフォルダを所有するか、最後に読み取り/書き込み許可を持つ必要があります...

私の場合、それは:

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

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

つまり、簡単に言うと

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

問題を解決する必要があります。

11
khmarbaise

私の問題は、パーミッションを適用してからsvnadmin createそのため、許可の設定が再度必要になりました。

 $ Sudo chown -R www-data:Subversion myproject
 $ Sudo chmod -R g+rws myproject
6

Superuser.comの質問のようです。一見、グループsvnにはそのフォルダーに対する書き込み権限がありません。これが問題かもしれません。これを見てください http://www.svnforum.org/threads/35493-Can-t-open-db-txn-current-lock-permission-denied

3
Simone-Cu

Sudo権限がない場合:

私の特定のケースでは、1つの共有Webfactionサーバーから別のサーバーに移行していました。ファイルをコピーするとリポジトリ全体の所有権がユーザー名に割り当てられている必要がありますが、リポジトリにアクセスするには、おそらく所有者がApacheである必要があります。適用できませんでしたchown Apache:mygroup repoユーザーApacheにアクセスできないため。ルートアクセスなしで動作させる唯一の方法はchmod -R 777 .リポジトリルート内で、最終的にはchownする権限のないロックファイルを削除します。これでようやく問題が解決し、再びコミットできました。

2
Flaudre

質問は非常に古いものですが、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

コメントでスチュワートが示唆したように、別の解決策はファイルのアクセス許可を更新することです。ただし、詳細は入手できませんが、ファイルのアクセス許可を微調整することで解決できます。

0
Pavan Kumar

最後になりましたが、リポジトリがユーザーおよびグループsvnによって所有されている場合

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

それにアクセスできるユーザーを必ずsvnグループに追加してください。 vi /etc/group

svn:x:502:user1,user2
0
im3r3k

作成されたレポジトリに対する読み取りおよび書き込み権限がありません。

chcon -R -t httpd_sys_rw_content_t/path_to_svn例:chcon -R -t httpd_sys_rw_content_t/opt/svn/trunk

0
Sadashiv