ウェブサイト検索

Linux で root であってもファイルとディレクトリを削除できないようにする方法


Linux を含む Unix 系オペレーティング システムでは、root は、デフォルトでシステム上のすべてのディレクトリとファイルを変更できるアカウントまたはユーザー名です。この記事では、Linux で root ユーザーでもディレクトリやファイルを削除できないようにする方法を説明します。

root を含むすべてのシステム ユーザーがファイルを削除できないようにするには、chattr コマンドを使用してファイルを変更できないようにする必要があります。このコマンドは、Linux ファイル システム上のファイル属性を変更します。

Linux でファイルを削除できないようにする方法

以下のコマンドは、/backups/passwd ファイルを不変 (または削除不能) にします。これは、ファイルをいかなる方法でも変更できないこと、つまり削除したり名前を変更したりできないことを意味します。リンクを作成することさえできず、ファイルにデータを書き込むこともできません。

sudo コマンドを使用してこの属性を設定または削除するには、スーパーユーザー権限が必要であることに注意してください。

sudo chattr +i /backups/passwd
OR
sudo chattr +i -V /backups/passwd

ファイルの属性を表示するには、次のようにlsattr コマンドを使用します。

lsattr /backups/passwd 

ここで、通常のユーザーと root の両方で不変ファイルを削除してみます。

rm /backups/passwd
sudo rm /backups/passwd

Linux でディレクトリを再帰的に削除できないようにする方法

-R フラグを使用すると、次のようにディレクトリとその内容の属性を再帰的に変更できます。

sudo chattr +i -RV /backups/  

ファイルを再び変更可能にするには、次のように -i 記号を使用して上記の属性を削除します。

sudo chattr -i /backups/ passwd

詳細については、次の記事を参照してください: Linux で重要なファイルを IMMUTABLE (変更不可能) にする 5 つの ‘chattr’ コマンド

次の関連記事が役に立ちます。

  1. Linux でユーザーとグループを管理する方法
  2. ユーザーとグループの管理とユーザーの sudo アクセスの有効化
  3. Linux で SUID および SGID 権限を持つファイルを検索する方法
  4. Linux で rwx 権限を 8 進形式に変換する

それでおしまい!この記事では、Linux で root ユーザーでもファイルを削除できないようにする方法を説明しました。以下のフィードバック フォームからご質問いただけます。