Home > File & Directory Management > chattr

chattr: Change File Attributes

The chattr command is used to change the attributes of files on Linux filesystems (like ext2/3/4, XFS, Btrfs, etc.). These attributes, separate from standard file permissions (chmod), control how files behave. For example, you can make files unchangeable or undeletable (immutable), or allow only appending (append-only).

Overview

chattr modifies special attributes stored in a file's metadata to protect file integrity or enforce specific behaviors. It is commonly used to prevent tampering with system files or important log files.

Key Features

  • Set file immutability (prevent deletion/modification)
  • Set files to append-only
  • Enhance security and maintain system integrity

Key Options

The chattr command is primarily used to add or remove attributes from files. The most commonly used attributes are 'i' (immutable) and 'a' (append-only).

Add/Remove Attributes

Generated command:

Try combining the commands.

Description:

`chattr` Executes the command.

Combine the above options to virtually execute commands with AI.

Usage Examples

Make a File Immutable

sudo chattr +i /path/to/your/file.txt

Sets a file so it cannot be deleted or modified. This operation requires root privileges.

Remove Immutable Attribute

sudo chattr -i /path/to/your/file.txt

Removes the immutable attribute from a file, allowing it to be modified or deleted again. This operation requires root privileges.

Make a Log File Append-Only

sudo chattr +a /var/log/mylog.log

Configures a log file so that new content can only be appended, preventing overwriting or modification of existing entries.

Make All Files in a Directory Immutable (Recursive)

sudo chattr -R +i /path/to/your/directory

Applies the immutable attribute recursively to all files and directories within a specified directory.

Tips & Precautions

The chattr command provides powerful file protection features but should be used with caution.

Key Tips

  • Use the `lsattr` command to view the current attributes of a file.
  • Typically applied to important system files, configuration files, or log files to prevent unauthorized modifications.
  • Requires root privileges, and misuse can cause system operational issues, so exercise caution.

Precautions

Attributes set by chattr cannot be removed by standard commands like `rm` or `mv`. To remove an attribute, you must use the `chattr -attribute` command. Additionally, the filesystem must support the attribute (primarily ext2/3/4, XFS, Btrfs, etc.).


Same category commands