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. ubuntu16.04安装交叉编译链

    我使用的是arm-linux-gcc 4.3.2版本,其他版本类似,附上下载链接: https://pan.baidu.com/s/1geUOfab 密码: frzy 首先我的安装包是tar.bz2的 ...

  2. angularJS的一些用法

    AngularJS 事件指令: ng-click/dblclick ng-mousedown/up ng-mouseenter/leave ng-mousemove/over/out ng-keydo ...

  3. 十六、Hadoop学习笔记————Zookeeper实战

    所有服务器都会先将自己的服务器信息注册到servers中,然后每台服务器都会尝试注册master,哪台注册成功,则哪台就是master服务器. 所有的服务器都会关注master节点的删除事件,这样通过 ...

  4. 晓莲说-何不原创:如何通过jad把class批量反编译成java文件

    背景:前几天在项目开发的时候遇到一个问题,那就是利用myeclipse编写好的一个项目打包成jar包后上传部署到服务器里,之后本地的项目被自己改来改去出现了一些问题,想着把上传到服务器里面的war包下 ...

  5. Mybatis(一)实现单表的增删改查

    1.1 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并 ...

  6. sublime text 3.0新版本注册码

    -– BEGIN LICENSE -– TwitterInc 200 User License EA7E-890007 1D77F72E 390CDD93 4DCBA022 FAF60790 61AA ...

  7. webMagic解析淘宝cookie 提示Invalid cookie header

    webMagic解析淘宝cookie 提示Invalid cookie header 在使用webMagic框架做爬虫爬取淘宝极又家页面时候一直提醒cookie设置不可用如下图 淘宝的验证特别严重,c ...

  8. Chrome浏览器读写系统剪切板

    IE浏览器支持直接读写剪切板内容: window.clipboardData.clearData(); window.clipboardData.setData('Text', 'abcd'); 但是 ...

  9. 利用KindEditor实现公司通讯录的维护

    引言: 本人所属施工单位,在建项目较多,通讯录是以项目为单位挂接在公司内部网站通讯录板块,以静态页面展示.一直以来都是项目部办公室通过电话.邮件等方式通知总部信息部门变更通讯录,日常维护的工作量较大. ...

  10. c++简单编写线性表(实验)

    哇 好久没更博客了  因为从上次更文到现在为止,我一直在学c#,然后也觉得没什么太大的东西想写在博客上, 总之这次就简单的传一下学校安排的数据结构的实验,我还是学生,是新手,希望能继续跟大家一起学习, ...