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

chattr:コマンドが見つかりません

ファイルまたはディレクトリの属性を変更するには、chattr コマンドを使用します。次の表では、chattr コマンドのいくつかのオプションについて説明します。

オプション 説明
-R ディレクトリとその内容の属性を再帰的に変更します。
-v {バージョン} ファイルのバージョン番号を設定します。
+i ファイルを読み取り専用または不変としてマークします。スーパーユーザー権限が必要です。
-i ファイルの読み取り専用または不変の属性を削除します。スーパーユーザー権限が必要です。

chattr コマンドの構文は次のとおりです。

# chattr [-R] [-v {version}] [+-{attributes}] {file/directory names}

chattr コマンドの実行中に以下のエラーが発生した場合:

chattr: command not found

ディストリビューションの選択に従って、以下のパッケージをインストールできます:

分布 コマンド
OS X brew install e2fsprogs
Debian apt-get install e2fsprogs
Ubuntu apt-get install e2fsprogs
アルパイン apk add e2fsprogs
Arch Linux pacman -S e2fsprogs
カリ Linux apt-get install e2fsprogs
CentOS yum install e2fsprogs
Fedora dnf install e2fsprogs
Raspbian apt-get install e2fsprogs

ファイルから -i (不変) 属性を削除する

「i」属性を削除するには、以下のコマンドを使用します。

# chattr -i geek.txt    # Unset "i" attribute

属性を削除すると、権限セクションが空白になります。

# lsattr geek.txt     
--------------- geek.txt

chattr を使用してディレクトリを不変にする

では、chattr コマンドを使用して再帰的に属性を変更して、ディレクトリを保護してみましょう。ここに data という名前のディレクトリがあり、誰もがそのディレクトリに再帰的にフル アクセスできます。以下の出力例を参照してください。

# mkdir data
# chmod -R 777 data/
# ls -l
total 4
drwxrwxrwx. 2 root root 4096 Apr 24 04:25 data

属性をそのディレクトリに設定します。

# chattr +i data/
# lsattr 
----i--------e- ./data

chattr で -R オプションを使用して属性を再帰的に設定することもできます。

# chattr -R +i data/

ディレクトリに属性を設定した後、ファイルを削除、移動、または作成しようとしましたが、そのいずれも許可されていないと確信しています。以下の出力例を参照してください。

# rmdir data/        # Deleting the Directory
rmdir: failed to remove `data/': Operation not permitted
# rm -rf data/        # Deletiing the Directory Forcefully
rm: cannot remove `data': Operation not permitted
# mv data/ mydata       # Moving the Directory
mv: cannot move `data/' to `mydata': Operation not permitted
# cd data/
# cat > test.txt       # Creating a File in the directory
bash: test.txt: Permission denied


Linux
  1. サブスクリプション マネージャー:コマンドが見つかりません

  2. dnf:コマンドが見つかりません

  3. bc:コマンドが見つかりません

  1. id:コマンドが見つかりません

  2. w:コマンドが見つかりません

  3. chattr:コマンドが見つかりません

  1. df:コマンドが見つかりません

  2. du:コマンドが見つかりません

  3. rm:コマンドが見つかりません