Linux的chattr与lsattr命令介绍

  • Post author:
  • Post category:linux




Linux的chattr与lsattr命令介绍




命令lsattr是用来查看文件、目录属性的,命令chattr是用来对其做更改的。与chmod这个命令相比,chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的。





chattr命令语法:





chattr [+-=][Asaci][文件或者目录名]





注:+表示增加,-表示减少,=表示设定。




  • A:增加该属性后,表示文件或者目录的atime将不可修改。



  • s:

    增加该属性后,会将数据同步写入磁盘中。



  • a:增加该属性后,表示只能追加不能删除,非root用户不能设定该属性。






  • c:




    增加该属性后,表示自动压缩该文件,读取时会自动解压。









  • i:增加该属性后,表示文件不能被删除、重命名、设定链接、写入以及新增数据。



注:实际工作中运用的最多的就是两个参数:i和a




举例说明:lsattr


[root@jkkhj ~]# lsattr


————-e- ./wu.txt

————-e- ./install.log.syslog

————-e- ./anaconda-ks.cfg

————-e- ./install.log


注:e表示ext4或ext3所持人的权限。

[root@jkkhj ~]# chattr +a wu.txt

[root@jkkhj ~]# lsattr


—–a——-e- ./wu.txt

————-e- ./install.log.syslog

————-e- ./anaconda-ks.cfg

————-e- ./install.log

[root@jkkhj ~]# echo ‘111111’ >> wu.txt

[root@jkkhj ~]# cat wu.txt

111111

[root@jkkhj ~]# rm -rf wu.txt

rm: cannot remove `wu.txt’: Operation not permitted

[root@jkkhj ~]# echo ‘2222’ > wu.txt

-bash: wu.txt: Operation not permitted


上述中:wu.txt文件增加a权限后,只可以追加,不能重定向及删除!


[root@jkkhj ~]# mkdir shiyan

[root@jkkhj ~]# lsattr

—–a——-e- ./wu.txt

————-e- ./install.log.syslog

————-e- ./anaconda-ks.cfg

————-e- ./install.log

————-e- ./shiyan

[root@jkkhj ~]# chattr +a shiyan

[root@jkkhj ~]# lsattr

—–a——-e- ./wu.txt

————-e- ./install.log.syslog

————-e- ./anaconda-ks.cfg

————-e- ./install.log

—–a——-e- ./shiyan

[root@jkkhj ~]# touch shiyan/test1

[root@jkkhj ~]# cd shiyan

[root@jkkhj shiyan]# lsattr

————-e- ./test1

[root@jkkhj shiyan]# rm -rf test1

rm: cannot remove `test1′: Operation not permitted


上述中:shiyan目录增加a权限后,只可以在里面创建文件,而不能删除文件!

[root@jkkhj ~]# chattr -a shiyan

[root@jkkhj ~]# chattr -a wu.txt

[root@jkkhj ~]# ls

anaconda-ks.cfg  install.log  install.log.syslog  shiyan  wu.txt

[root@jkkhj ~]# lsattr

————-e- ./wu.txt

————-e- ./install.log.syslog

————-e- ./anaconda-ks.cfg

————-e- ./install.log

————-e- ./shiyan

[root@jkkhj ~]# chattr +i wu.txt

[root@jkkhj ~]# lsattr wu.txt

—-i——–e- wu.txt

[root@jkkhj ~]# echo ‘nihao’ >> wu.txt

-bash: wu.txt: Permission denied

[root@jkkhj ~]# echo ‘nihao’ > wu.txt

-bash: wu.txt: Permission denied

[root@jkkhj ~]# rm -rf wu.txt

rm: cannot remove `wu.txt’: Operation not permitted


上述中:给wu.txt增加i权限之后,文件即使在root账户下也不能进行追加、重定向、删除等操作!


[root@jkkhj ~]# lsattr

—-i——–e- ./wu.txt

————-e- ./install.log.syslog

————-e- ./anaconda-ks.cfg

————-e- ./install.log

—-i——–e- ./shiyan

[root@jkkhj ~]# touch shiyan/test2

touch: cannot touch `shiyan/test2′: Permission denied

[root@jkkhj ~]# rm -rf shiyan

rm: cannot remove `shiyan/test1′: Permission denied


上述中:给shiyan目录增加i权限之后,即使在root账户下也不能在shiyan目录下创建文件test1及删除shiyan这个目录等操作!

[root@jkkhj ~]# chattr -i shiyan

[root@jkkhj ~]# chattr -i wu.txt

[root@jkkhj ~]# lsattr

————-e- ./wu.txt

————-e- ./install.log.syslog

————-e- ./anaconda-ks.cfg

————-e- ./install.log

————-e- ./shiyan

[root@jkkhj ~]# rm -rf shiyan;rm -rf wu.txt

[root@jkkhj ~]# lsattr

————-e- ./install.log.syslog

————-e- ./anaconda-ks.cfg

————-e- ./install.log



转载于:https://blog.51cto.com/wutengfei/1914695


关闭菜单