GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでファイル/ディレクトリの変更、削除、名前の変更を防ぐ方法は?

ファイルが変更、削除、または名前変更されないようにする場合は、ファイルに不変フラグを設定する必要があります。ファイルやディレクトリに設定できます。不変フラグが追加されると、ファイル/フォルダーを変更または削除できなくなります。不変フラグを追加し、ファイルに変更を加えたい場合は、不変フラグを削除する必要があります。これは拡張ファイルシステム属性です。

不変フラグを設定するには、次の手順を参照してください。不変フラグを設定するには、rootでログインする必要があります。

  1. 最初に、以下のコマンドを使用してtest.txtという名前のファイルを作成します。

    # touch test.txt
    
  2. lsattrコマンドを使用して、拡張属性を確認します。デフォルトでは、「e」のみが存在します。

    # lsattr test.txt
    
  3. test.txtにコンテンツを追加しますが、まだ変更を加えていないため、正常に機能するはずです。

    # echo This is a test of immutable flage >> test.txt
    # cat test.txt
  4. chattrコマンドを使用して+iフラグを設定しましょう。ここでは、不変を意味します。

    # sudo chattr +i test.txt
  5. 次に、以下のコマンドを使用して、ファイルtest.txtの不変を検証します

    # lsattr test.txt
    

出力

----i---------e---- test.txt
  1. 上記のように、test.txtは不変になりました。同じファイルを変更または削除しようとします。

    # echo test-modification >> test.txt
    -bash: test.txt: Permission denied
    # rm -f test.txt
    rm: cannot remove ‘test.txt’: Operation not permitted
    #  mv test.txt test2.txt
    mv: cannot move ‘test.txt’ to ‘test2.txt’: Operation not permitted

    上記のエラーのように、ファイルに不変フラグを設定したため、ファイルを変更または削除できないことがわかります。いずれかのフォルダに不変を設定すると、同じフォルダ内のファイル/フォルダ全体に不変フラグが設定されることに注意してください。

  2. 同じファイルに変更を加える場合は、不変ファイルを削除する必要があります。次のコマンドは、ファイルから不変フラグを削除します。
    # chattr -i test.txt
  3. 不変フラグが削除されていないことを確認します。

    # lsattr test.txt
    

出力:

-------------e-- test.txt

これで、問題なくファイルを変更または削除できます。


Linux
  1. LinuxにAnsibleをインストールしてテストする方法

  2. Linuxでの偶発的なファイル削除を防止および回復する方法

  3. Linuxで出力をファイルとStdoutにリダイレクトする方法

  1. Linuxでスペースと特殊文字を含むファイル名を操作する方法

  2. Linuxのルートでもファイルとディレクトリを削除できないようにする方法

  3. Linux のユーザー名とパスワードが与えられた場合、それが有効なアカウントかどうかをテストするにはどうすればよいですか?

  1. LinuxまたはUNIXでApacheファイルとディレクトリのインデックスを有効にするにはどうすればよいですか?

  2. UNIX / Linux:ディレクトリとファイルでスティッキー ビットを使用する方法

  3. Linux でファイルとディレクトリのアクセス許可/所有権を管理する方法