Linux文件属性命令chattr

该命令只有root有权限使用,并且设置后对root用户有效
chattr [+-=] 选项 文件或目录
常见选项说明:
A:文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。
S:硬盘I/O同步选项,功能类似sync。
a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。
c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
d:即no dump,设定文件不能成为dump程序的备份目标。
i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。
j:即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。
s:保密性地删除文件或目录,即硬盘空间被全部收回。
u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion。
各参数选项中常用到的是a和i。a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。

以最常见的选项i和a举例说明
i:如果对文件设置i属性,那么不允许对文件进行删除、改名、增加和修改数据。
如果对目录设置i属性,那么只能修改目录下文件的数据,但是不能创建新文件和删除已有文件

 1 /**对文件设置i属性**/
 2 [[email protected] tmp]# touch one.file
 3 [[email protected] tmp]# echo ‘just a test‘ >> one.file
 4 [[email protected] tmp]# cat one.file
 5 just a test
 6 [[email protected] tmp]# chattr +i one.file
 7 [[email protected] tmp]# echo ‘hello world‘ >> one.file       //不能添加文件内容
 8 -bash: one.file: Permission denied
 9 [[email protected] tmp]# vim one.file   //vim可以打开文件,但是也不能修改、增加、删除文件内容
10 [[email protected] tmp]# mv one.file another.file      //不能重命名文件
11 mv: cannot move `one.file‘ to `another.file‘: Operation not permitted
12 [[email protected] tmp]# rm -rf one.file          //不能删除文件
13 rm: cannot remove `one.file‘: Operation not permitted
14
15 /**对目录设置i属性**/
16 [[email protected] tmp]# mkdir test
17 [[email protected] tmp]# ll
18 total 20
19 -rw-r--r-- 1 root root   12 May 22 21:36 one.file
20 drwxr-xr-x 2 root root 4096 May 22 21:47 test
21 [[email protected] tmp]# touch test/one.file
22 [[email protected] tmp]# echo ‘just a test file‘ >> test/one.file
23 [[email protected] tmp]# chattr +i test
24 [[email protected] tmp]# echo ‘hello world‘ >> test/one.file
25 [[email protected] tmp]# head test/one.file
26 just a test file
27 hello world
28 [[email protected] tmp]# rm -rf test/one.file
29 rm: cannot remove `test/one.file‘: Permission denied
30 [[email protected] tmp]# touch test/another.file
31 touch: cannot touch `test/another.file‘: Permission denied

a:如果对文件设置了a属性,那么只能在文件中增加数据,但是不能删除、修改数据,
如果对目录设置a属性,只能在目录中建立和修改文件但不能删除文件

 1 [[email protected] tmp]# touch two.file
 2 [[email protected] tmp]# echo ‘hello worle‘ >> two.file
 3 [[email protected] tmp]# chattr +a two.file
 4 [[email protected] tmp]# echo ‘just a test‘ >> two.file  //可以追加文件内容,仅限于使用命令增减,不能使用vim等编辑器增加
 5 [[email protected] tmp]# vim two.file  //可以使用vim打开文件,但是不能删除、修改、增加文件内容
 6 [[email protected] tmp]# mkdir twotest
 7 [[email protected] tmp]# touch twotest/one.file
 8 [[email protected] tmp]# chattr +a twotest
 9 [[email protected] tmp]# echo ‘hello world‘ >> twotest/one.file   //可以修改文件内容
10 [[email protected] tmp]# touch twotest/two.file    //可以创建文件
11 [[email protected] tmp]# rm -rf twotest/one.file   //不能删除文件
12 rm: cannot remove `twotest/one.file‘: Operation not permitted
13 [[email protected] tmp]# mv twotest/one.file  twotest/one.file.file  //不能重命名文件
14 mv: cannot move `twotest/one.file‘ to `twotest/one.file.file‘: Operation not permitted

查看文件属性
lsattr -a 显示文件或目录属性
[[email protected] tmp]# lsattr -a one.file
----i--------e- one.file //one.file文件具有i属性,文件系统是ext(e)

lsattr -d 显示目录属性
[[email protected] tmp]# lsattr -d twotest
-----a-------e- twotest //目录twotest具有a属性,文件系统是ext(e)

时间: 2024-10-15 09:54:27

Linux文件属性命令chattr的相关文章

linux基础命令---chattr

chattr 改变文件的属性,这个命令只有超级用户才能使用.这个指令适用于ext2.ext3.ext4.xfs.ubifs.reiserfs.jfs系统. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法       chattr [-RVf] [ -v version ]  + | - | =[属性]  file 运算符'+'使所选属性被添加到文件的现有属性中:'-'使它们被删除:'='使它们成为文件所拥有的唯一属性.

Linux常用命令——chattr、lsattr

chattr 改变文件的扩展属性 语法格式:chattr [option][mode][files]chattr [选项] [模式] [文件或目录]注意:chattr 命令及后面的选项和文件里,每个元素之间都要至少要有一个空格参数选项: 参数选项 解释说明 -a 只能向文件中添加数据,而不能删除,多用于服务器日志文件安全 -i 设定文件不能被删除.除名.写入或新增内容 -R 递归更改目录属性 案例一:设置只能往文件里追加内容,但不能删除文件案例二:给文件加锁,使其只能是只读 lsattr 查看文

【Linux安全】chattr命令锁定账户敏感文件

有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux系统都是2.6以上内核了.通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录.chattr命令不能保护/./dev./tmp./var目录.lsattr命令是显示chattr命令设置的文件属性. 这两个命令是用来查看和改变文件.目录属性的,与chmod这个命令相比,chmod

linux每日命令(26):Linux文件属性详解

阅读目录(Content) 命令: 输出: 说明: 关于inode: Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [[email protected] test]# ls -lih total 0 51621141 drwxr-xr-x. 4 root root 159 Nov 20 19:24 dir1 33980025 -rw-r--r--. 1 root

linux文件属性知识总结

linux文件属性可以使用ls -l命令查看.文件属性为以下 1.文件类型:-,d,l,b,c,s等 2.文件链接数 #创建文件链接命令 ln [-s 创建软连接] target link_name #默认创建硬链接 3.文件读写执行属性 4.文件属主和群 5.文件大小 ls -h #以友好方式显示文件大小 6.文件时间属性 #mtime(modification time) 文件内容改变时间 #ctime(status time) 权限和属性修改时间 #atime (acess time) 文

linux全部命令

linux全部命令 一.安装和登陆命令1.进入图形界面startx 2.进入图形界面init 5 3.进入字符界面init 3 4.登陆login 5.关机poweroff-p 关闭机器的时候关闭电源-n 在关闭机器时不同步数据-w 不做关机的操作,只是把这个操作记录到日志里-d 不把关机的信息记录到日志文件里-f 不调用shutdown 6.关机重启shutdown命令格式:shutdown [选项] 时间 [信息]时间--是必要参数,一定要加,可以用now,也可以用+5信息--在关机的时候给

Linux常用命令大全2

Linux命令是对Linux系统进行管理的命令.对于Linux系统来说,无论是中央处理器.内存.驱动.键盘.鼠标,还是用户等都是文件,Linux命令是它正常运行的核心.接下来,就来看看xp系统下载编辑为各位带来的Linux常用命令大全吧! Linux常用命令大全100条: 1,echo “aa” > test.txt 和 echo “bb” >> test.txt //>将原文件清空,并且内容写入到文件中,>>将内容放到文件的尾部 2,chmod go+w -R /ho

Linux常用命令大全

系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验

(转)linux常用命令

原地址:http://www.cnblogs.com/svage/p/3700122.html 1.删除目录及子目录下的 .svn目录 find . -type d -name ".svn" | xargs rm -rf 2./tmp 目录的权限 drwxrwxrwt rwt的意思是:对目录有执行权限,但不能删除,即sticky bit rwx : 可读可写可执行 4+2+1 3.改变群组.用户.权限 chgrp   群组名   改变的目录 groupadd -g gid gname