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. 怎么设置按钮的disabled属性

    首先我们要知道怎么去设置 两种方法设置disabled属性 $('#area').attr("disabled",true); $('#area').attr("disa ...

  2. 【源码解析】Sharding-Jdbc中的算法

    Sharding-jdbc中的很多地方涉及到算法,比如主从配置这块.分库分表这块.本文主要从源码角度介绍下,目前主要包含哪些算法,以及这些算法的内容. 一.读写分离(主从配置) 这块的代码主要在cor ...

  3. JavaScript学习笔记(七)——函数的定义与调用

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  4. asp.net web api 构建api帮助文档

    1 概要 创建ASP.NET Web Api 时模板自带Help Pages框架. 2 问题 1)使用VS创建Web Api项目时,模板将Help Pages框架自动集成到其中,使得Web Api项目 ...

  5. vuejs(2.0)基础笔记

    基本结构 <div id="app"> {{ message }} </div> var app = new Vue({ el: '#wrap', data ...

  6. Oracle11g静默安装dbca,netca报错处理--直接跟换操作系统

    最近给一个客户安装oracle 11gr2 概述: 操作系统:linux 32位操作系统 [oracle@nbsrfx response]$ uname -aLinux nbsrfx 2.6.32-5 ...

  7. 【原创】用python写的一个监测本地进程CPU占用的程序

    #coding=utf-8import psutilimport sysimport timetry:#输入需要监测的进程PID PID = raw_input('ProcessPID: ') def ...

  8. MongoDB一:入门(安装与配置)

    一.简介 MongoDB  是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. mongoDB MongoDB 是一个介于关系数据库和非关系数据库 ...

  9. MFC中小笔记(四)

    12.编译透明化界面是出现  WS_EX_LAYERED  AC_SRC_ALPHA ULW_ALPHA ULW_OPAQUE  undeclared identifier ,搜索发现SDK版本过低. ...

  10. deepin 常用设置

    1 不开特效和动画,开启透明无黑边 #!/bin/bash #开启 metacity 窗管合成,取代正在运行的窗管 deepin-metacity --composite --replace #关闭 ...