修改文件系统属性chattr,查看文件系统属性lsattr

chattr

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

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

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

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

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

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

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

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

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

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

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

时间: 2024-10-27 11:52:29

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

7.文件系统属性chattr权限

7.文件系统属性chattr权限 ·change files attributes on a Linux file system. ·chattr +/-/=选项 文件/目录, ·+增加,-删除,=赋予某权限, ·可以理解为i把文件目录锁起,a把文件目录现有的保护起来,可追加, ·选项:i,对文件设置i,不允许对文件进行删除.改名.添加.修改,锁起文件, 对目录设置i,只能修改目录下文件数据,不允许建立删除文件, a,对文件设置a,只能在文件中>>追加数据,不能删除也不能修改现有数据, 对目录

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

原文:背水一战 Windows 10 (86) - 文件系统: 获取文件夹的属性, 获取文件夹的缩略图 [源码下载] 作者:webabcd 介绍背水一战 Windows 10 之 文件系统 获取文件夹的属性 获取文件夹的缩略图 示例1.演示如何获取文件夹的属性FileSystem/FolderProperties.xaml <Page x:Class="Windows10.FileSystem.FolderProperties" xmlns="http://schema

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

五大权限:UGO权限.SetUID SetGID Sticky.ACL权限.chattr(文件系统级别的权限).SELINUX ======================文件属性以及ugo权限================================== ls -l 列出文件的属性 linux文件的类型包括以下六种: -  普通文件 d 目录文件 l  链接文件 b block类型的设备文件  块设备文件 c 字符型的设备文件 s socket文件 网络类型的文件 p 管道类型的文件 u

jQuery---jq操作标签文本(html(),text()),jq操作文档标签(插入,删除,修改),克隆,,jq操作属性,jq操作class属性,jq操作表单value,jq操作css,jq操作盒子(重要),jq操作滚动条

jQuery---jq操作标签文本(html(),text()),jq操作文档标签(插入,删除,修改),克隆,,jq操作属性,jq操作class属性,jq操作表单value,jq操作css,jq操作盒子(重要),jq操作滚动条 一丶jQ操作标签内文本 html() 标签元素中的内容 /** 替换的内容可以使一个js对象,jq对象,文本 **/ /* 获取值:获取选中标签元素的所有内容 ,包括标签*/ $('ul').html() " <li>1</li> <li&g

攻城狮在路上(叁)Linux(二十六)--- linux文件系统的特殊查看与操作

一.boot sector 与 super block的关系: 1.boot sector用于存放引导装载程序,占用1024个字节. 2.super block的大小也为1024字节. 3.若block大小为1k,则boot sector和super block各占一个block. 4.若block大于1K(2K/4K)时,则两者都位于第一个block中. 二.磁盘空间的浪费问题:暂不考虑. 三.利用GUN的parted命令进行分区行为: 因为fdisk不支持高于2TB的分区. 命令格式: pa

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

一般来讲,在android程序开发中进行需要判断设备类型和系统版本 1.设备类型判断 比如判断属于Google Nexus 5,Nexus 7,MIUI v5, MIUI v6,三星设备,魅族设备等: 这类型的问题都使用的android.os.Build.MODEL来判断,android.os.Build.MODEL是一个String变量,可以根据String中一些特殊字段来判断android设备属于什么设备,比如判断Nexus 7,代码入下 public static boolean isN7

修改程序堆栈的可执行属性

最近刚刚做完CSAPP的几个实验,在bufbomb实验中level2和level3,需要将攻击代码嵌入到缓冲区中并修改程序返回地址为缓冲区起始地址,但是遇到了栈不可执行的问题.因为ubuntu默认栈不可执行.这里总结了两种修改程序堆栈可执行属性的方法. 方法一:(有.c源文件) gcc -g -z execstack -fno-stack-protector stack.c -o stack ./stack 方法二:(只有编译后的可执行程序,比如实验中的bufbomb) 在本地安装execsta

将输出文件从分布式文件系统拷贝到本地文件系统查看

输入命令可查看在分布式文件系统下的输出文件信息: 也可将输出文件从分布式文件系统拷贝到本地文件系统查看:

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

[天使]安卓布局修改基础常识篇之TextView属性 在修改布局xml文件时需要熟练掌握一些属性,以下是TextView也就是文本的属性:android:autoLink 是否自动链接网址或邮箱地址:android:autoText 自动检测错误:android:bufferType 决定getText()返回的类型android:capitalize 指定使用类型android:cursorVisible 光标是否可见android:digits 数字输入android:drawableBot