在Linux系统运维中用chattr和lsattr命令管理文件和目录属性
小标 2018-06-11 来源 : 阅读 1192 评论 0

摘要:在Linux系统运维中,为了允许添加数据,防止更改或者删除等,文件和文件夹可以设定了特定的控制属性。例如,你可以在关键的系统文件或者文件夹中启用属性,然后没有任何用户,包括root,可以删除或者修改它,比如不允许使用像dump这样的命令等备份工具去备份一个特定的文件或者文件夹,等等。这些属性只可以在ext2,ext3或者ext4文件系统中的文件和文件夹上设定。希望对大家学习Linux系统运维有所帮助。

在Linux系统运维中,为了允许添加数据,防止更改或者删除等,文件和文件夹可以设定了特定的控制属性。例如,你可以在关键的系统文件或者文件夹中启用属性,然后没有任何用户,包括root,可以删除或者修改它,比如不允许使用像dump这样的命令等备份工具去备份一个特定的文件或者文件夹,等等。这些属性只可以在ext2,ext3或者ext4文件系统中的文件和文件夹上设定。希望对大家学习Linux系统运维有所帮助。

有两个命令 lsattr 和 chattr 用来管理属性。下面是常用属性的列表。

在Linux系统运维中用chattr和lsattr命令管理文件和目录属性

chattr属性中可以使用的不同选项 :

· -R 递归地修改文件夹和子文件夹的属性

· -V chattr命令会输出带有版本信息的冗余信息

· -f 忽略大部分错误信息

在chattr中用于设置或者取消属性的 操作符

· ‘+’ 符号用来为文件和文件夹设置属性,

· ‘-’ 符号用来移除或者取消属性

· ‘=’ 使它们成为文件有的唯一属性。

chattr 和 lsattr 命令的基本语法 :

# chattr <options> <attributes> <file or Directory ># lsattr <File or Directory>

例:1 使用‘i’属性使文件不可更改

[root@linuxtechi ~]# chattr +i dummy_data

[root@linuxtechi ~]# lsattr dummy_data

----i----------- dummy_data

现在试着删除或者修改文件

[root@linuxtechi ~]# rm -f dummy_data

rm: cannot remove 'dummy_data': Operation not permitted

 

[root@linuxtechi ~]# echo "test" >> dummy_data

-bash: dummy_data: Permission denied

例:2 移除不可更改属性

[root@linuxtechi ~]# chattr -i dummy_data

[root@linuxtechi ~]# lsattr dummy_data

---------------- dummy_data

例:3 在文件中只允许追加操作

[root@linuxtechi ~]# chattr +a dummy_data

[root@linuxtechi ~]# lsattr dummy_data

-----a---------- dummy_data

现在试着把fstab文件的内容追加到dummy_data文件

[root@linuxtechi ~]# cat /etc/fstab >> dummy_data[root@linuxtechi ~]#

例 :4 使用 -R 选项和 ‘+i’ 属性使文件夹和它的子文件夹成为安全目录

让我们来新建一个sysadmin文件夹和它的子文件夹

[root@linuxtechi ~]# mkdir sysadmin

[root@linuxtechi ~]# mkdir sysadmin/admim_{1,2,3,4,5}

[root@linuxtechi ~]# ls -l sysadmin/

total 0

drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_1

drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_2

drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_3

drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_4

drwxr-xr-x. 2 root root 6 Apr 19 09:50 admim_5

在sysadmin文件夹递归设置不可更改属性

[root@linuxtechi ~]# chattr -R +i sysadmin

 

[root@linuxtechi ~]# lsattr -R sysadmin/

----i----------- sysadmin/admim_1

sysadmin/admim_1:

----i----------- sysadmin/admim_2

sysadmin/admim_2:

----i----------- sysadmin/admim_3

sysadmin/admim_3:

----i----------- sysadmin/admim_4

sysadmin/admim_4:

----i----------- sysadmin/admim_5

sysadmin/admim_5:

[root@linuxtechi ~]#

现在试着用rm命令删除文件夹

[root@linuxtechi ~]# rm -rf sysadmin

rm: cannot remove ‘sysadmin/admim_1’: Permission denied

rm: cannot remove ‘sysadmin/admim_2’: Permission denied

rm: cannot remove ‘sysadmin/admim_3’: Permission denied

rm: cannot remove ‘sysadmin/admim_4’: Permission denied

rm: cannot remove ‘sysadmin/admim_5’: Permission denied

[root@linuxtechi ~]#

使用以下命令递归取消属性

[root@linuxtechi ~]# chattr -R -i sysadmin

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维Linux频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程