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. Django 入门案例开发(下)——创建项目应用及模型类

    前面两章是在已经开发好的项目上用来描述环境和业务,这一章创建一个全新的项目来用作开发,你可以跟着我的步骤进行开发,如果有不理解的地方可以给我留言. 今天的任务是创建好项目和用户(users)应用及让它 ...

  2. RabbitMQ消息队列系列教程(一)认识RabbitMQ

    摘要 RabbitMQ是最为流行的消息中间件,是处理高并发业务的利器.本系列教程,将跟大家一起学习RabbitMQ. 目录 RabbitMQ是什么? RabbitMQ的特点是什么? 一.RabbitM ...

  3. maven学习之三

    maven 创建工程: 1:直接命令:mvn archetype:generate -X -DgroupId=org.sselab -DartifactId=maven-for-mongodb  -D ...

  4. STM32F030如何正确配置IO口的复用功能

    本文所使用的单片机型号为STM32F030C8T6. 在030系列的单片机中,PA2引脚除了作为普通的IO引脚用作输入输出功能以外,还可以作为内部外设串口1,串口2,定时器15通道1这三个外设的功能引 ...

  5. 有没有必要参加IT培训

    近几年,IT培训机构可谓是琳琅满目,稂莠不齐.培训Java的,培训PHP的,培训大数据的等等吧,不一而足. 自己也算是IT技术圈子待了好多年了,面试过一些机构培训出来的学生,也有几个好哥们在培训机构做 ...

  6. HBuilder入门(构建h5+APP)

    if(window.plus) { plusReady(); } else { //plusready事件(自带事件)调用了才可使用h5+API document.addEventListener(& ...

  7. [最短路]P1828 香甜的黄油 Sweet Butter

    题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油.当然,他将付出额外的费 ...

  8. Winform远程更新代码

    本软件具备以下形: 1.通过http形式在客户端更新winform代码文件 2.在服务端通过软件生成xml配置文件,客户端通过比对xml配置文件来更新代码文件. 服务端: 在服务器上建立一个IIS发布 ...

  9. 十一、VueJs 填坑日记之使用Amaze ui调整列表和内容页面

    上一篇博文我们整合了Amaze ui,并且调整了一个头部header和底部footer文件,其实做起来也很简单,只要按照步骤来做,完全没有问题.今天我们来重新调整一下列表页面和内容页面,使我们做的后台 ...

  10. Nginx简介与安装

    | 简介 Nginx是一个高性能的HTTP和反向代理服务器,可以作为负载均衡服务器,也是一个IMAP/POP3/SMTP服务器.它的特点是占有内存少,并发能力强.目前有很多大型公司都在使用Nginx, ...