With the help of utility called chattr, you can changes the file attributes on a Linux second extended file system. The operator + causes the selected attributes to be added to the existing attributes of the files; - causes them to be removed; and = causes them to be the only attributes that the files have.
1) Login as the root user.
2) Type the following command to write protect /etc/shadow file:
# chattr +i /etc/shadow
3) Login as user vivek and type the passwd command to change password:
$ passwd
Changing password for user vivek.
Changing password for vivek
(current) UNIX password: OLDPASSWED
New password: NEWPASSWD
Retype new password:NEWPASSWD
passwd: all authentication tokens updated successfully.
4) Now logout and try to login with the new password. However, system will not accept your new password. You still need to use the old password. A file with the 'i' attribute cannot be modified: it cannot be deleted or renamed, no link can be created to this file and no data can be written to the file. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute.
5) Get the list of Linux second extended file system using the lsatter command (run as root user :-) )
# lsattr /etc/shadow
----i-------- /etc/shadow
6) To see all Linux second extended file system attributes read the man page
man chattr
man lsattr
7) Please note that even root user is not allowed to change the password. You can remove the attribute using the following command:
# chattr -i /etc/shadow # lsattr /etc/shadow
------------- /etc/shadow
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop












{ 7 comments… read them below or add one }
Works like a charm.
Nice topic.
2 Typos Here:
“For rest of Linux second extended file system attributes read man chatter, man lsatter.”
=> … read man chattr, man lsattr
What does the attribute ‘e’ stands for? I am using centOS 6.
[root@cfserver masterfiles]# lsattr /etc/passwd
————-e- /etc/passwd
extent.
exactly what that means yet. i determined this by trying chattr -e ./somefile
and it returned
”
“
extent.
Not sure exactly what that means yet. i determined this by trying chattr -e ./somefile
and it returned
Also useful for clearing the lost+found directory for files that can’t be deleted by root directly using rm or rm -rf. I had to recover a 1TB USB 3 disk with e2fsck using an alternate block after I accidentally tried to dd an 8 Mb .iso to the USB disk and not the USB thumbdrive I had meant for it to go. I was able to recover the disk but this left me with a file and a directory in lost+found that I could not delete that cron.daily kept warning me about. I used lsattr to list the attributes that the file and directory had and just used chattr -R to recursively wipe all the attributes for everything in lost+found. A simple rm -rf worked after that.
What good is the immutable flag without securelevels?