您的位置:首页 > 运维架构 > Linux

Linux文件第二扩展文件系统属性

2016-04-18 20:47 1126 查看
在通常情况下,linux下文件具有的属性都是读写和执行;但这些属性属于高层次的文件属性,它和具体的文件文件系统无关。在文件系统这一层,文件同样也具有很多属性,chattr和lsattr指令就是设置和查看基于ext2/ext3文件系统的底层属性

1、chattr:设置文件的底层属性

语法格式:
chattr [option] [file]

chattr 修改文件在Linux第二扩展文件系统(E2fs)上的特有属性

符号模式有+-=[ASacdisu]几种格式.

操作符`+'用来在文件已有属性的基础上增加选定的属性; `-'用来去掉文件上的选定的属性;而`='用来指定该文件的唯一属性.

字符`ASacdisu'用作文件新属性的选项: 不更新atime(A),同步更新(S),只能添加(a), 压缩(c),不可变(i),不可转移(d),删除保护(s)以及不可删除(u).

option:

+:在原有参数的基础上,追加参数

-:在原有参数基础上,移除参数

=:更新为指定参数

-a:设定只能想文件中添加数据,而不能删除。

-i:设定后,不能对文件进行删除写入改名等等操作

-R:递归处理

-V:显示执行过程

注意:设定这些参数,必须在root权限下。

1.1 实例1:设定i参数,使得在root权限下无法直接删除

[root@localhost Desktop]# chattr +i attr_test.txt

[root@localhost Desktop]# vi attr_test.txt wq保存不了

[root@localhost Desktop]# rm -rf attr_test.txt

rm: cannot remove `attr_test.txt': Operation not permitted

1.2 实例2:设定a参数,使得只能向文件中添加内容(让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件)

[root@localhost Desktop]# chattr -i attr_test.txt

[root@localhost Desktop]# chattr +a attr_test.txt

[root@localhost Desktop]# vi attr_test.txt

[root@localhost Desktop]# lsattr -a attr_test.txt

-----a-------e- attr_test.txt

[root@localhost Desktop]# chattr -a attr_test.txt

[root@localhost Desktop]# lsattr -a attr_test.txt

-------------e- attr_test.txt

[root@localhost Desktop]# lsattr -a attr_test.txt

-------------e- attr_test.txt

2、lsattr:显示文件的底层属性

语法格式:lsattr [option] [file]

option:

-a:显示所有文件属性

-d:仅显示目录属性

-R:递归显示

2.1、显示目录属性

[root@localhost gpadmin]# lsattr -d ../gpadmin/

-------------e- ../gpadmin/

2.2、显示所有文件属性

[root@localhost gpadmin]# lsattr -a ../gpadmin/

-------------e- ../gpadmin/.gnome2

-------------e- ../gpadmin/.bashrc

-------------e- ../gpadmin/.ssh

-------------e- ../gpadmin/..

-------------e- ../gpadmin/.mozilla

-------------e- ../gpadmin/.bash_logout

-------------e- ../gpadmin/.

-------------e- ../gpadmin/seg_hosts

-------------e- ../gpadmin/gpAdminLogs

-------------e- ../gpadmin/.bash_history

-------------e- ../gpadmin/.viminfo

-------------e- ../gpadmin/gpconfigs

-------------e- ../gpadmin/all_hosts

-------------e- ../gpadmin/.bash_profile

2.3、递归显示

[root@localhost gpadmin]# lsattr -R ../gpadmin/

-------------e- ../gpadmin/seg_hosts

-------------e- ../gpadmin/gpAdminLogs

../gpadmin/gpAdminLogs:

-------------e- ../gpadmin/gpAdminLogs/gpinitsystem_20151210.log

-------------e- ../gpadmin/gpconfigs

../gpadmin/gpconfigs:

-------------e- ../gpadmin/gpconfigs/gpinitsystem_config

-------------e- ../gpadmin/all_hosts
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: