当前位置: 首页 > Linux

通过10个例子掌握linux系统lsattr和chattr命令

时间:2023-04-06 03:49:08 Linux

可以对文件或目录设置一定的控制属性,允许附加数据,防止数据被更改或删除等。例如,可以对关键系统文件启用属性或目录,以便任何用户(包括root)都不能删除或更改它,禁止备份实用程序(如dump命令)备份特定文件或目录,等等。这些属性只能在ext2、ext3或ext4文件系统中的文件和目录上设置。有两个命令lsattr和chattr用于属性管理。以下是常用属性列表:属性说明a(append)允许追加到文件A该属性不允许更新文件的访问时间c(compressed)当启用该属性时,文件会自动压缩到磁盘d(转储)文件无法通过转储命令备份d当启用此属性时,更改将同步存储在磁盘上e(扩展格式)它表明文件正在使用扩展来映射磁盘上的块(immutable)当这个属性在文件上启用时,我们不能修改,重命名和删除文件j(journaling)当设置这个属性时,文件的数据在写入文件S(synchronous)setting在此属性之后,更改或修改将同步存储在磁盘上chattr命令中可用的不同选项:-R递归更改目录及其子目录的属性-f抑制大多数错误消息-Vchattr的详细输出Operatorsfor在命令中设置和取消设置属性:+用于设置文件和目录的属性-用于删除或取消设置属性=使它们成为文件具有的唯一属性chattr命令语法:#chattrlsattrcommand语法:#lsattr<文件或目录>(1)使文件不可变[root@linuxtechi~]#chattr+idummy_data[root@linuxtechi~]#lsattrdummy_data----i------------dummy_data现在正在尝试删除和编辑文件[root@linuxtechi~]#rm-fdummy_datarm:cannotremove'dummy_data':Operationnotpermitted[root@linuxtechi~]#echo"test">>dummy_data-bash:dummy_data:Permissiondenied(2)删除不可变属性[root@linuxtechi~]#chattr-idummy_data[root@linuxtechi~]#lsattrdummy_data-----------------dummy_data(3)只允许附加到文件[root@linuxtechi~]#chattr+adummy_data[root@linuxtechi~]#lsattrdummy_data-----a------------dummy_data尝试向文件追加内容[root@linuxtechi~]#cat/etc/fstab>>dummy_data[root@linuxtechi~]#(4)保护目录和它的子目录让我们创建一个目录sysadmin及其子目录[root@linuxtechi~]#mkdirsysadmin[root@linuxtechi~]#mkdirsysadmin/admim_{1,2,3,4,5}[root@linuxtechi~]#ls-lsysadmin/total0drwxr-xr-x。2根根2019年4月6日09:50admim_1drwxr-xr-x。2root根2019年4月6日09:50admim_2drwxr-xr-x。2rootroot6Apr1909:50admim_3drwxr-xr-x.2rootroot6Apr1909:50admim_4drwxr-xr-x.2rootroot6Apr1909:50admim_5在目录sysadmin[root@上递归设置不可变属性linuxtechi~]#chattr-R+isysadmin[root@linuxtechi~]#lsattr-Rsysadmin/----i------------sysadmin/adminim_1sysadmin/adminim_1:----i-----------sysadmin/adminim_2sysadmin/adminim_2:----i------------sysadmin/adminim_3sysadmin/adminim_3:----i------------系统管理员/admim_4sysadmin/admim_4:----我----------sysadmin/admin_5sysadmin/admim_5:[root@linuxtechi~]#现在尝试使用rm命令删除目录[root@linuxtechi~]#rm-rfsysadminrm:cannotremove“sysadmin/admin_1”:权限被拒绝rm:无法删除“sysadmin/admin_2”:权限被拒绝rm:无法删除“sysadmin/admin_3”:权限被拒绝rm:无法删除“sysadmin/admin_4”:权限被拒绝rm:无法删除“sysadmin/admin_5”:Permissiondenied[linuxtechi~]#递归取消属性设置,请使用以下命令[root@linuxtechi~]#chattr-R-isysadmin我的开源项目course-tencent-cloud(酷瓜云课堂-gitee仓库)course-tencent-云(酷瓜云课堂-github仓库)