cygwinが削除不可能なファイルを作成しないようにするにはどうすればいいですか?それともどうやってそれらを削除することができますか?


2

たまにcygwinはまったく削除できないようなファイルを作成するようです。 cygwinから削除するときそれは起こりません( rm 何も言わないが、ファイルはまだそこにある。エクスプローラから試すとき、私は管理者からの許可が必要であると言っています(そして私は管理者です、ドロップダウンメニューの削除項目には盾があります、そしてそれは私が管理者権限でこれを試すことを意味する)総司令官からしようとすると私は最初にエラーが発生し、私は管理者として再試行したくないかどうかを尋ねられ、それでも私はまだファイルを削除する権限を持っていないようです。

ファイルを表示しようとすると、同じ問題が発生します。セキュリティのプロパティを表示しようとしたときの問題 - 管理者になるにはシールドボタンを押す必要があります。所有権を取得しない限り、表示することはできません(許可されていません)。

cygwinシェルを使用して表示できますが、ACLを変更することはできません(管理者としてシェルが実行されている場合でも)

$ getfacl makefile.wine
# file: makefile.wine
# owner: Unknown+User
# group: Unknown+Group
user::rw-
group::r--
other:---
$ setfacl -b makefile.wine
setfacl: Permission denied

しかし、Windowsを再起動したときにファイルを削除するだけで問題はありませんでした。

cygwinがこれらのファイルを作成する理由/方法 sed -i )?どうすればこれを避けることができますか?そして最後に、ファイルを削除するための正当な方法はありますか?


これらの手順を試してください - stackoverflow.com/questions/3739477/…
hkdtam

@ hkdtamどのステップを意味するのかわかりません。リンクされている答えはただ待つだけでファイルは消えるはずであることを示唆しているようですが、それは起こりませんでした。他の解決策は基本的に同じ結果を示します、私は(管理者としてシェルを実行しているとしても)これらのことのいずれもすることを許されていないようです。
skyking

回答:


1

cygwinは削除不可能なファイルを作成してはいけません。少なくともそれ以上ではありません。更新されたインストールがあると仮定します(cygwin 2.5.1): ファイルのACLを確認します。getfacl "filename" ACLパーミッションは、setfacl -b "filename"でサニタイズできます。 詳細はgetfaclとsetfaclのマニュアルを参照してください。 追加の読み物 https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-files

あなたがgetfaclから持っているように

所有者:不明+ユーザー

グループ:不明+グループ

それはcygwinが所有者を認識しないことを意味します。 2つの可能性

1)所有者はWindowsマシンではもう有効ではありません

2)あなたはある種のVPNまたはドメイン接続を使用しており、Windowsデータベースユーザーは特定の条件ではアクセスできない。

windows adminとして、あなたはcygwinからも、所有者を変更できるはずです。


私はcygwin 2.5.0を実行しているようですが、多分2.5.1はこれらのファイルを作成しないでしょう。しかし、あなたが提案したファイルを削除するための解決策はうまくいかないようです。
skyking

setfacl -b "filename"はファイルを削除しません。しかしそれはACLを消毒します。アクセス許可を変更した後、必要に応じて削除できます。
matzeri

「setfacl:Permission denied」というメッセージが表示されても、setfaclはACLをサニタイズしますかその場合、それは紛らわしい診断です...
skyking

icacls "filename"の出力は何ですか?
matzeri

0

で試してください takeown コマンド。管理者権限のCMDシェルで、次のコマンドを発行します。

takeown /F makefile.wine

そしてあなたがそれを取り除くことができるかどうか今見て、

rm makefile.wine

更新:報告してくれてありがとう、それは私の監督でした。後に takeown コマンド、あなたは所有者情報について見てそこから調整をするためにエクスプローラでそのファイルを右クリックすることができますか?


述べたように、それはあなたがリンクした解決策のうちのどれがうまくいかなかったかの間でした。
skyking

0

私はついにこれを解決しました。 プロセスエクスプローラ (最近のWindowsバージョンではデフォルトで)そのファイル名を使っているプロセスをハンドルで検索し、プロセスを強制終了します。

私はこれについてのすべてを詳しく述べました 私のブログ

許可を元に戻そうとしないでください。


1
スーパーユーザーへようこそ!答えはできるだけ自己完結型であることを望みます。 編集する リンクが切れた場合の記事からの関連情報を含めるためのあなたの答え詳細については、 答え方
Ben N
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.