chattr

chattr +i 文件或目录 , chattr +a 文件或目录,chattr -i 文件或目录,chattr -a 文件或目录,chattr =i 文件或目录,chattr =a 文件或目录

-i 对文件的作用:对文件设置了i属性则文件只读,不能对文件内容进行修改,不可删文件,不可重命名文件,此权限限制对root也有效。

[root@localhost ~]# touch testfile
[root@localhost ~]# ll
总用量 0
-rw-r--r--. 1 root root 0 8月 6 09:44 testfile  注释:默认权限644
[root@localhost ~]# echo hello>testfile  注释:可写
[root@localhost ~]# cat testfile
hello
[root@localhost ~]# chattr +i testfile   注释:增加i属性
[root@localhost ~]# lsattr -a testfile   注释:查看文件系统属性
----i----------- testfile
[root@localhost ~]# echo world>>testfile  注释:不可写
-bash: testfile: 权限不够  
[root@localhost ~]# rm testfile   注释:不可删
rm:是否删除普通文件 "testfile"?y
rm: 无法删除"testfile": 不允许的操作
[root@localhost ~]# mv testfile t  注释:不可重命名
mv: 无法将"testfile" 移动至"t": 不允许的操作
[root@localhost ~]# rm -rf testfile
rm: 无法删除"testfile": 不允许的操作

-i对目录的作用:只能修改目录内已存在文件内容,不能在目录内新建、删除文件。

[root@localhost ~]# mkdir testdir
[root@localhost ~]# ll -d testdir/
drwxr-xr-x. 2 root root 6 8月 6 09:57 testdir/
[root@localhost ~]# touch testdir/testfileA
[root@localhost ~]# chattr +i testdir/
[root@localhost ~]# lsattr -a testdir/
----i----------- testdir/.  注释:目录本身具有i属性
---------------- testdir/..
---------------- testdir/testfileA
[root@localhost ~]# echo "hello world" > testdir/testfileA   注释:可对目录内已存在的文件的内容进行修改
[root@localhost ~]# cat testdir/testfileA
hello world
[root@localhost ~]# rm testdir/testfileA -rf  注释:不可在目录内删除文件
rm: 无法删除"testdir/testfileA": 权限不够
[root@localhost ~]# touch testdir/testfileB  注释:不可在目录内添加文件
touch: 无法创建"testdir/testfileB": 权限不够

取消-i属性:chattr -i 文件或目录

-a属性对文件的作用:只能对文件查看、增加数据,不能修改、删除数据,不能重命名、删除文件。较i属性宽松点,可以对文件追加新内容。a可理解为add

[root@localhost ~]# touch testfileA
[root@localhost ~]# ll testfileA
-rw-r--r--. 1 root root 0 8月 6 10:07 testfileA
[root@localhost ~]# chattr +a testfileA  注释:给文件添加a属性
[root@localhost ~]# lsattr -a testfileA  注释:查看文件系统属性
-----a---------- testfileA
[root@localhost ~]# echo "nihao">testfileA  注释:文件a属性不能修改文件内容
-bash: testfileA: 不允许的操作
[root@localhost ~]# echo "nihao">>testfileA  注释:文件a属性可以追加文件内容
[root@localhost ~]# cat testfileA  注释:文件a属性可能查看文件内容
nihao
[root@localhost ~]# mv testfileA testfileB  注释:文件a属性不能重命名文件
mv: 无法将"testfileA" 移动至"testfileB": 不允许的操作
[root@localhost ~]# rm -rf testfileA  注释:文件a属性不能删除文件
rm: 无法删除"testfileA": 不允许的操作
[root@localhost ~]# ls
testdir testfile testfileA

-a属性对目录的作用:对目录内已存在文件不能重命名、删除,可修改目录内已存在文件内容,可在目录内新建文件。

[root@localhost ~]# mkdir testdirB
[root@localhost ~]# touch testdirB/testfileB
[root@localhost ~]# chattr +a testdirB
[root@localhost ~]# lsattr -a testdirB
-----a---------- testdirB/.
---------------- testdirB/..
---------------- testdirB/testfileB
[root@localhost ~]# mv testdirB/testfileB testdirB/testfileC  注释:不能对目录内已存在文件重命名
mv: 无法将"testdirB/testfileB" 移动至"testdirB/testfileC": 不允许的操作
[root@localhost ~]# rm -rf testdirB/testfileB   注释:不能删除目录内文件
rm: 无法删除"testdirB/testfileB": 不允许的操作
[root@localhost ~]# echo "welcome China">testdirB/testfileB  注释:可修改目录内文件内容
[root@localhost ~]# cat testdirB/testfileB
welcome China
[root@localhost ~]# touch testdirB/testfileC  注释:可在目录内新建文件
[root@localhost ~]#

总结:i属性为只读,a属性为追加。

修改文件系统属性chattr,查看文件系统属性lsattr的更多相关文章

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

    SYNOPSIS(总览) chattr [ -RV ] [ -v version ] [ mode ] files... DESCRIPTION(描述) chattr 修改文件在Linux第二扩展文件 ...

  2. 文件系统属性chattr权限

    命令格式 chattr [+-=] [选项] 文件名或目录名 + 增加权限 - 删除权限 = 等于某权限 i 如果对文件赋予i权限,那么不允许对文件进行删除.改名,也不能添加.修改数据:如果对目录添加 ...

  3. Linux 文件系统属性chattr权限

    chattr命令 格式:chattr [+-=] [选项] 文件或目录名,其中,+表示增加权限,-表示删除权限,=表示等于某权限(对超级用户root也有用),比如:chattr +i /project ...

  4. Linux学习 - 文件系统属性chattr权限

    change file attributes on 啊linux file system 1 功能 可以防止误操作 2 chattr命令格式 chattr [+-=] [选项] 文件或目录名 + 增加 ...

  5. 背水一战 Windows 10 (86) - 文件系统: 获取文件夹的属性, 获取文件夹的缩略图

    [源码下载] 背水一战 Windows 10 (86) - 文件系统: 获取文件夹的属性, 获取文件夹的缩略图 作者:webabcd 介绍背水一战 Windows 10 之 文件系统 获取文件夹的属性 ...

  6. 五大权限:UGO权限、SetUID SetGID Sticky、ACL权限、chattr(文件系统级别的权限)、SELINUX

    五大权限:UGO权限.SetUID SetGID Sticky.ACL权限.chattr(文件系统级别的权限).SELINUX   ======================文件属性以及ugo权限= ...

  7. adb shell 查看系统属性(用来判断特殊的操作系统)

    一般来讲,在android程序开发中进行需要判断设备类型和系统版本 1.设备类型判断(android.os.Build.MODEL) 比如判断属于Google Nexus 5,Nexus 7,MIUI ...

  8. 安卓布局修改基础常识篇之TextView属性

    [天使]安卓布局修改基础常识篇之TextView属性 在修改布局xml文件时需要熟练掌握一些属性,以下是TextView也就是文本的属性:android:autoLink 是否自动链接网址或邮箱地址: ...

  9. linux下查看系统属性

    inux下查看系统属性1.查看cpu信息查看所有cpu信息:cat /proc/cpuinfo查看cpu类型: grep "model name" /proc/cpuinfo2.查 ...

随机推荐

  1. 如何开发一个chrome扩展

    chrome是一个不错的浏览器,web开发者工作中一般都会使用chrome做为默认浏览器,它有很多扩展,给浏览器补充了各种功能,增强了用户体验.chrome具体能干什么?怎么做出来的呢? chrome ...

  2. 准备冲锋 golang入坑系列

    史前摘要: 本来想写读前必读,但连续几篇博文都写读前必读,感觉就没有了新意. 所以换成史前摘要,反正是一个意思. 此摘要的目的仍然是提醒点击而来的同学,本系列最新文章在这里.放到博客园的目的是为了方便 ...

  3. Runtime的理解与实践

    Runtime是什么?见名知意,其概念无非就是"因为 Objective-C 是一门动态语言,所以它需要一个运行时系统--这就是 Runtime 系统"云云.对博主这种菜鸟而言,R ...

  4. ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十三节--RBAC模式及ABP权限管理(附送福利)

    ABP+AdminLTE+Bootstrap Table权限管理系统一期 Github:https://github.com/Jimmey-Jiang/ABP-ASP.NET-Boilerplate- ...

  5. 非关系型数据库redis-java基本操作

    概述 redis是一个key-value的nosql数据库(非关系型数据库).支持存储的value类型包括string(字符串).list(链表).set(集合).zset(sorted set -- ...

  6. input type="radio" 赋值问题

    之前项目中 后台传值 然后赋给单选input   在网上找了好久,现在有时间了,整理一下  ,方便以后有人会用到. $('radio[name="sex"][value'" ...

  7. 一个简单的迷你jQuery实现

    //仅提供与学习使用(function () { var _$ = window.$; var _jQuery = window.jQuery; //暴露外部使用的一个接口 var jQuery = ...

  8. Linux运维项目实战系列

    Linux运维项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-项目实战2-实现基于LVS负载均衡集群的电商网站架构 2.1项目实战2.1-nginx 反向 ...

  9. CCF-201503-1-图象旋转

    问题描述 试题编号: 201503-1 试题名称: 图像旋转 时间限制: 5.0s 内存限制: 256.0MB 问题描述: 问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转 ...

  10. linux 安装 cenos7 和 jdk

    安装一个虚拟机安装cenos7 版本的 安装完虚拟机后必备工具 第一步. 配置网路 设置桥接网路设置静态网络参考 下面博文 http://www.cnblogs.com/Jerry1104/p/758 ...