Protecting Important Files and Directories Against Deletion or Modification using chattr command
How To Protect Important Files And Directories From Modification And Deletion With chattr Command
Hey Guys, it’s been a while I’ve done my last post. But, as it says “It’s better to be late than never”. So, here I’m with my new post.
Today we are going to learn how to protect our files from being modified, updated or even deleted using the chattr command.
chattr stands for “Change attribute” which means changing the attribute of the files/directories. In linux it is used for files/directories, whereas in other various unix flavors it is also used for changing attribute of the disks, adapters etc.
Let’s begin with understanding the command and it’s flags
To list out the attributes of a file or a directory
#lsattr (list attribute)
Flags can be used
-R Recursively list attributes of directories and their contents.
-V Display the program version.
-a List all files in directories,
-d List directories like other files, rather than listing their
-v List the files version/generation number.
Let’s create a file and check it’s attribute, I’ll go with simple cat command
Now let’s check whether it is having any attributes attached or not
As the above screenshot suggest there is no attribute attached, lets change some of its attribute.
Hey!! wait a min, do we know what options can be used with chattr command?
let’s learn it first.
The syntax for chattr command is
#chattr [operator] [option] [file name]
The possible operators are ‘+'(plus), “-“(minus) and “=” equals to
And the options are as follows
- If a file is accessed with ‘A‘ attribute set, its time record will not be updated.
- If a file is modified with ‘S‘ attribute set, the changes are updates synchronously on the disk.
- A file is set with ‘a‘ attribute, can only be open in append mode for writing means only updating is allowed.
- A file is set with ‘i‘ attribute, cannot be modified (immutable). Where no renaming, no execution, no write operations are permitted, only super user can unset the attribute.
- A file with the attribute ‘d‘, will not participate in backup when the dump process is run.
- When a file has ‘u‘ attribute is deleted, its data are saved. This enables the user to ask for its undeletion.
Okay, now then we know our command, let’s try protecting our file with “i” immutable option
First i’ll give full permission to my file and then we’ll go for i option
Let’s make it immutable (non-modifiable)
Okay now let’s try appending, modifying and even deleting.
To remove this protection we can go for -i option
Similarly, if you want append only mode, where people can add data but cannot modify nor delete the data go for +a option
Try updating the data it will work
modifying the data will fail as follows
To remove this protection go for -a option
Hope this article may help you protecting your important files better
Do comeback for more updates