AI智能
改变未来

『学了就忘』Linux权限管理 — 56、不可改变位权限(chattr)

[toc]

文件系统属性

chattr

权限,也叫不可改变位权限,该权限没有风险,但是他能限制

root

用户。

1、命令格式

[root@localhost ~]# chattr [+-=] [选项] 文件或目录名

选项

  • +

    :增加权限。

  • -

    :删除权限。

  • =

    :等于某权限。(不常用)

  • i

    :如果对文件设置

    i

    属性,那么不允许对文件进行删除、改名,也不能添加和修改数据(也就是文件不能做任何修改,相当于把文件加了一把锁,包括

    root

    在内都不行。);如果对目录设置

    i

    属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。

  • a

    :如果对文件设置

    a

    属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置

    a

    属性,那么只允许在目录中建立和修改文件,但是不允许删除。

  • e

    :Linux中绝大多数的文件都默认拥有

    e

    属性。表示该文件是使用

    ext

    文件系统进行字储的,而且不能使用

    chattr -e

    命令取消

    e

    属性。

提示:常用的就是

i

a

属性。

2、查看文件系统属性chattr权限

# 给abc文件加入i属性[root@localhost ~]# chattr +i abc# ll命令是查看不到任何结果的,这点比较不好。[root@localhost ~]# ll abcrw-r--r-.1 root root 0 2月 19 13:08 abc

如果需要查看

chattr

权限,需要用如下命令:

[rootelocalhost ~]# chattr [选项] 文件名

选项:

  • -a

    :显示所有文件和目录。

  • -d

    :若目标是目录,仅列出目录本身的属性,而不是子文件的。

[root@localhost ~]# chattr abc----i--------e- abc

注意:带

~

表示临时文件,和Windows系统的word的临时文件差不多一个意思。直接

rm

删除就可以了。

如下图所示:

3、示例

例1:给文件赋予

chattr

权限的

i

属性。

# 建立测试文件,给文件赋予i属性[root@localhost ~]# touch ftest[root@localhost ~]# chattr +i ftest# 赋予i属性后,root也不能删除[root@localhost ~]# rm -rf ftestrm:无法删除"ftest":不允许的操作# 也不能修改文件的数据[root@localhost ~]# echo 111 >> ftest-bash:ftest:权限不够

例2:给目录赋予

chattr

权限的

i

属性。

# 建立测试目录给[root@localhost ~]# mkdir dtest# 再建立一个测试文件abc[root@localhost dtest]# touch dtest/abc# 给目录赋予i属性[root@localhost ~]# chattr +i dtest/# dtest目录不能新建文件[root@localhost ~]# cd dtest/[root@localhost dtest] # touch bcdtouch:无法创建"bcd":权限不够# 但是可以修改文件内容[root@localhost dtest]# echo 1111 >> abc[root@localhost dtest]# cat abc1111# 不能删除目录内文件[root@localhost dtest]# rm -rf abcrm:无法删除"abc":权限不够

例3:测试

chattr

权限的

a

属性。

# 给abc文件赋予a属性[root@localhost ~]# chattr +a abc# 向abc文件中追加内容# 注意一定不能用vim编辑器,用vim编辑器编辑内容不能保存。[root@localhost ~]# echo aaaaaaaaaaaaaaaaaaaaaa >> abc[root@localhost ~]# cat abcaaaaaaaaaaaaaaaaaaaaaa# 可以复制文件和新建文件到指定目录[root@localhost ~]# cp /var/log/messages /back/log/# 但是不允许删除文件[root@localhost ~]# rm -rf abcrm:无法删除"/back/1og/messages":不允许的操作
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 『学了就忘』Linux权限管理 — 56、不可改变位权限(chattr)