Windowsが自分の所有するファイルへのアクセスが拒否されたと言っている


4

それで、最近Windowsは私にいくらかのトローリングをして私のgitリポジトリにコミットすることを不可能にすることにしました

それは私にgitでこのエラーを与えます(Cygwinで):

$ git commit -a
error: insufficient permission for adding an object to repository database .git/objects

error: NVG510Fixer/NVG510Fixer/Resources/layout/WarningConfirmation.axml: failed to insert into database
error: unable to index file NVG510Fixer/NVG510Fixer/Resources/layout/WarningConfirmation.axml
fatal: updating files failed

それで…しかし、それから私はNVG510Fixerフォルダーに行き、再帰的にそこにあるすべてのものの所有権を取り、それを確認します みんな フルコントロールを持っています。これはうまくいくようですが、エラーが消えるわけではありません。 .git そしてプロパティを右クリックしてそこから所有権を(再帰的に)持っていくこの時点で、それはさらに奇妙になります:

enter image description here

Windowsは一体何をしているのですか。私は管理者です。このコンピュータはドメインにも参加していません。ほんの数分前にアクセスできたファイルにアクセスできない


Cygwinのプロンプトが管理者権限で開かれていますか?
Ankit

回答:


5

使用 takeown 管理コマンドラインからコマンドを実行します。削除することが可能です Full Access 管理者グループへのアクセス許可。これが発生した場合、GUIバージョンではアクセス許可を変更できませんが、コマンドラインコマンドで変更できます。

takeown /f C:\dev\nvg510controls\.git /r /d Y

あなたが特別な空想になりたいなら、あなたはパーミッションを設定することができます コマンドライン経由

icacls C:\dev\nvg510controls\.git /t /grant Everyone:(F)

どちらのコマンドもダウンロードできない場合 PsExec そしてコマンドを実行します

psexec -i -s icacls C:\dev\nvg510controls\.git /t /grant Everyone:(F) 

実行されます icacls AdministratorユーザーではなくSYSTEMユーザーとして。


同様の状況でこれを試し、「エラー:アクセスが拒否されました」
John

1
それからあなたは管理コマンドラインからそれを実行していません。コマンドプロンプトを開いたときには、必ず「管理者として実行」を選択してください。
Scott Chamberlain

アクセスも拒否されますが、間違いなく管理者のコマンドプロンプトに入っています。
Jason Southwell

@JasonSouthwellそのような状況では、SYSTEMユーザーだけが変更できるようにファイルが保護されていると思われます。そのような状況で使用 PsExec そしてコマンドを実行します psexec -i -s icacls C:\dev\nvg510controls\.git /t /grant Everyone:(F) 実行されます icacls SYSTEMユーザーとして。
Scott Chamberlain

私はそれを試したが何も見なかった。私はそれを理解しました。私の場合は、フォルダがまだ私のデスクトップのどこかにあるWindows 10 Anniversary Editionのbashシェルで開いていたということでした。どうやらgitがフォルダを削除しようとしたとき、それはまだそこに開いていて、フォルダをなんらかの不自然な状態にしていました。 bashでフォルダからcdすると、フォルダは自動的に消えます。奇妙なことに、bashがそのフォルダをロックしているとは思わなかった。
Jason Southwell

1

それがだれにも役立つかどうかはわかりませんが、ここでは、Gitがファイルにアクセスする権限を持っていないために問題が発生し、上記の答えを試しても成功しなかったことに注意します。

問題は、かなり新しいサーバーで、Gitプロセスからの.gitディレクトリで多くの活動がエンタープライズウイルスチェッカーによって確認され、Gitが疑わしいプロセスとしてマークされ、ファイルへのアクセスを許可されなくなったことです。


0

所有者を他の誰かに戻し、再帰的に自分自身に戻すようにしてください。それは一般的に私のためのトリックをします。これは、サブフォルダとファイルにはアクセスできないが、.gitフォルダだけにアクセスできるためと考えられます。所有者を変更し、すべてのサブフォルダオプションを選択します。次に、同じツリーオプションを有効にして権限を変更します。 それが機能するかどうかを確認


所有者を別のユーザーに変更する方法を説明しなかったので、これはおそらくコメントだったはずです。
Ramhound
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.