在Linux中用chattr和lsattr命令管理文件和目录属性
2015-06-10 09:14
761 查看
原文:http://www.linuxtechi.com/file-directory-attributes-in-linux-using-chattr-lsattr-command/
作者: Pradeep Kumar
译文:LCTT /article/1313045.html
译者: ictlyh
为了允许添加数据,防止更改或者删除等,文件和文件夹可以设定了特定的控制属性。例如,你可以在关键的系统文件或者文件夹中启用属性,然后没有任何用户,包括root,可以删除或者修改它,比如不允许使用像dump这样的命令等备份工具去备份一个特定的文件或者文件夹,等等。这些属性只可以在ext2,ext3或者ext4文件系统中的文件和文件夹上设定。
有两个命令 lsattr 和 chattr 用来管理属性。下面是常用属性的列表。
chattr属性中可以使用的不同选项 :
-R 递归地修改文件夹和子文件夹的属性
-V chattr命令会输出带有版本信息的冗余信息
-f 忽略大部分错误信息
在chattr中用于设置或者取消属性的 操作符
'+' 符号用来为文件和文件夹设置属性,
'-' 符号用来移除或者取消属性
'=' 使它们成为文件有的唯一属性。
chattr 和 lsattr 命令的基本语法 :
[/code]
[/code]
现在试着删除或者修改文件
[/code]
[/code]
[/code]
现在试着把fstab文件的内容追加到dummy_data文件
[/code]
[/code]
在sysadmin文件夹递归设置不可更改属性
[/code]
现在试着用rm命令删除文件夹
[/code]
使用以下命令递归取消属性
[/code]
via: http://www.linuxtechi.com/file-directory-attributes-in-linux-using-chattr-lsattr-command/
作者:Pradeep Kumar 译者:ictlyh 校对:wxy
本文由 LCTT 原创翻译,Linux中国 荣誉推出
来源:/article/1313045.html
本文由 LCTT 原创翻译,Linux中国首发。也想加入译者行列,为开源做一些自己的贡献么?欢迎加入
LCTT!
翻译工作和译文发表仅用于学习和交流目的,翻译工作遵照CC 协议规定,如果我们的工作有侵犯到您的权益,请及时联系我们。
欢迎遵照CC 协议规定转载,敬请在正文中标注并保留原文/译文链接和作者/译者等信息。
文章仅代表作者的知识和看法,如有不同观点,请楼下排队吐槽 :D
作者: Pradeep Kumar
译文:LCTT /article/1313045.html
译者: ictlyh
为了允许添加数据,防止更改或者删除等,文件和文件夹可以设定了特定的控制属性。例如,你可以在关键的系统文件或者文件夹中启用属性,然后没有任何用户,包括root,可以删除或者修改它,比如不允许使用像dump这样的命令等备份工具去备份一个特定的文件或者文件夹,等等。这些属性只可以在ext2,ext3或者ext4文件系统中的文件和文件夹上设定。
有两个命令 lsattr 和 chattr 用来管理属性。下面是常用属性的列表。
属性 | 描述 |
a (append) | 允许在文件中进行追加操作 |
A | 这个属性不允许更新文件的访问时间 |
c (compressed) | 启用这个属性时,文件在磁盘上会自动压缩 |
d (dump) | 不能使用dump命令备份文件 |
D | 设置了文件夹的D属性时,更改会在同步保存在磁盘上 |
e (extent format) | 它表明,该文件使用磁盘上的块的映射扩展 |
i (immutable) | 在文件上启用这个属性时,我们不能更改、重命名或者删除这个文件 |
j (journaling) | 设置了这个属性时,文件的数据首先保存在日志中,然后再写入文件 |
S (synchronous) | 设置了这个属性时,变更或更改同步保存到磁盘上 |
-R 递归地修改文件夹和子文件夹的属性
-V chattr命令会输出带有版本信息的冗余信息
-f 忽略大部分错误信息
在chattr中用于设置或者取消属性的 操作符
'+' 符号用来为文件和文件夹设置属性,
'-' 符号用来移除或者取消属性
'=' 使它们成为文件有的唯一属性。
chattr 和 lsattr 命令的基本语法 :
# chattr <options> <attributes> <file or Directory >
# lsattr <File or Directory>
[/code]
例:1 使用‘i’属性使文件不可更改
[root@linuxtechi ~]# chattr +i dummy_data
[root@linuxtechi ~]# lsattr dummy_data
----i----------- dummy_data
[/code]
现在试着删除或者修改文件
[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
[/code]
例:2 移除不可更改属性
[root@linuxtechi ~]# chattr -i dummy_data
[root@linuxtechi ~]# lsattr dummy_data
---------------- dummy_data
[/code]
例:3 在文件中只允许追加操作
[root@linuxtechi ~]# chattr +a dummy_data
[root@linuxtechi ~]# lsattr dummy_data
-----a---------- dummy_data
[/code]
现在试着把fstab文件的内容追加到dummy_data文件
[root@linuxtechi ~]# cat /etc/fstab >> dummy_data
[root@linuxtechi ~]#
[/code]
例 :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
[/code]
在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 ~]#
[/code]
现在试着用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 ~]#
[/code]
使用以下命令递归取消属性
[root@linuxtechi ~]# chattr -R -i sysadmin
[/code]
via: http://www.linuxtechi.com/file-directory-attributes-in-linux-using-chattr-lsattr-command/
作者:Pradeep Kumar 译者:ictlyh 校对:wxy
本文由 LCTT 原创翻译,Linux中国 荣誉推出
来源:/article/1313045.html
本文由 LCTT 原创翻译,Linux中国首发。也想加入译者行列,为开源做一些自己的贡献么?欢迎加入
LCTT!
翻译工作和译文发表仅用于学习和交流目的,翻译工作遵照CC 协议规定,如果我们的工作有侵犯到您的权益,请及时联系我们。
欢迎遵照CC 协议规定转载,敬请在正文中标注并保留原文/译文链接和作者/译者等信息。
文章仅代表作者的知识和看法,如有不同观点,请楼下排队吐槽 :D
相关文章推荐
- Linux 查杀病毒的常见命令
- CentOS6.6强行破解root密码
- Scientific Toolworks Understand for linux
- linux驱动增加work工作队列和获取唤醒锁操作
- 批量生成或合并gif格式图像的方法
- Linux 内核基础--List使用方法
- 如何在linux环境下安装yaf
- linux下C++开发常用工具
- CentOS7虚拟机桥接设置及问题
- 浅析Linux IO技术体系
- C语言和汇编语言获取linux系统时间
- linux基础命令
- Linux 下 C语言连接MYSQL数据库
- VI常用命令及linux下软件
- linux下C/C++编译时系统搜索 include 和 链接库 文件路径的指定
- 虚拟机linux安装mysql
- Linux(Ubuntu)新增用户并设置为管理员
- 每日linux命令学习
- Linux系统编程——进程间通信:共享内存
- 10.Linux 管道