削除に対してファイルをロックし、それでも書き込み可能にする方法は?


33

削除に対してファイルをロックしたいが、それでも書き込み可能にしたい。どうすればいいですか?

問題のファイルは、NAS SMBネットワーク共有上のファイルとしてのTruecryptボリュームであるため、誤って削除したくありません。


1
不可能です。ゼロを書き込むと、削除されます。
-soandos

@soandos-怖いことに同意しません。ゼロを書き込むことは、ファイルが存在することを意味しますが、ゼロで一杯です。実際、ゼロでいっぱいの「スパース」ファイルを作成するLinuxコマンドがあります。
-therobyouknow

回答:


34

Windowsの場合:

  1. ファイルの「削除」権限を拒否します。
  2. 親ディレクトリの「子アイテムの削除」権限を削除または拒否します。

Unix(OS Xを含む)の場合:

  1. 親ディレクトリの「書き込み」権限を削除します。

これはファイルの削除(削除)を防ぐだけで、誤った切り捨てやゴミによる上書きに対しては何もしないことに注意してください。ファイルが書き込み可能な場合は、期間を問わず、ファイルに書き込むことができます。

また、ファイルのアクセス許可は、オペレーティングシステム間で変換することがほとんど不可能です。NASがLinuxを実行しているときに、Windows内からアクセス許可を設定しようとすると、最終結果が期待と異なる場合があります。


最良の答えは私が得ると思います。+1とありがとう。はい、NASはLacie 2bigであり、ARMでLinuxのバージョンを実行しています。
-therobyouknow

1
実際に削除を拒否する必要はなく、既存のアクセス制御エントリ(ACE)から削除を削除するだけです。(ACEを拒否すると、物事がより複雑になります。通常、長期的には良いコースではありません。)
リチャード

2
@Richard:知る限り、削除するにはそのファイルのACL継承を完全に無効にする必要があり、最終的にはさらに複雑になります。
-grawity

Grawityに同意します。削除の許可を拒否する方法があります。共有アクセス許可を変更するために設定されている場合、拒否されます、まだ削除が可能になり、空白のままにしながら、削除をブロックします。
surfasb

26

Linuxでは、ハードリンクを作成できます。その後、それに書き込み、「削除」できますが、ディレクトリ内の参照のみを削除します。もう一方のハードリンクはファイルのコンテンツを指すため、削除されません。

Unixの世界では、ファイルを「削除」しません。ハードリンクの数を減らすだけです。他に何も指し示していない場合、スペースは無料と見なされ、使用できます…


2
良いアイデア。@RobがNASでハードリンクを作成できるかどうかはわかりませんが、できればそれは非常に賢い解決策です。
-CarlF

1
+1可能であれば、受け入れられた回答と組み合わせてそれを行うことができます。またはそうでない場合は別々に。前述のように、枠の外側を考えるための+1。ただし、問題のLinux共有はNASドライブであり、どのコンソール機能が利用可能かはわかりません。Linuxの埋め込みまたは半埋め込み形式です。ただし、通常のLinuxデスクトップまたはコンピューターを共有として使用している他のユーザーを支援する可能性があるため、まだ+1です。
-therobyouknow

2
同じ手法がNTFSでも機能するはずです。
ローター

woliveirajrソリューションをサポートするためにRBerteig +1およびCarlF +1。
therobyouknow

12

バックアップ。削除できない場合でも、書き込み可能なファイルを損傷から実際に保護することはできません。毎日バックアップしてください。


4
+1。他のベルトやサスペンダーが適用されているかどうかにかかわらず、これを行います。
RBerteig

+1 CarlFと+1 RBerteig。完全に同意する。ファイルもすべて光学メディア(DVD-R、+ R、+ R DLおよびブルーレイ25gbおよびdl 50gb)にバックアップされます。2台目のハードドライブも検討できます。
-therobyouknow

追加する必要があります。コンテナファイルあるtruecryptボリュームのファイルのバックアップがあります。truecryptボリューム自体ではありません。
-therobyouknow

0

以前の回答に加えて、selinuxを検討することを検討します。そこで、かなりきめ細かい制限を定義できます。


0

btrfsのような牛のファイルシステムでは、サブボリューム+スナップショットまたはcpを--reflink = alwaysで使用することでこれを実現できます。非常に多くのコピーやスナップショットが特に小さなファイルサイズと組み合わされていない場合、これは目立たないはずです)変更されるまで、変更された部分のみが別々に保存され、残りは依然として共有されます。次に、それぞれに個別にアクセス許可を設定します(読み取り専用アクセス許可で定期的にスナップショットまたはコピーを作成するために必要なものを達成します)偏執的な場合は1つのコピーに対して書き込み許可がある場合でもファイルを書き込んだり変更したりしないでください。


0

「標準」UNIXでは、ディレクトリが書き込み可能な場合、単一のファイルを削除から保護することは不可能と思われます。直感的に、「chmod」を使用してモードビットからw保護をクリアすると、削除から保護されるはずですが、これはケースではありません。同様に、AFSでは、ACLエントリ(関連する 'd'許可の欠如または拒否)がディレクトリ全体にのみ適用されるため、単一ファイルの削除を保護できません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.