Linux中如何设置文件只能追加而不能删除(文件的隐藏权限)

 

Linux中文件的隐藏权限通常有2个参数;

i 和 a; 

使用chattr 修改文件的隐藏权限;

使用lsattr 查看文件的隐藏权限;

 

001、-i参数;

a、对文件:无法对文件进行修改;

b、对目录:仅能修改目录中的子文件的内容而不能新建或者删除文件

 

01、增加、查看文件的-i隐藏属性

复制代码
[root@pc1 test01]# ls
[root@pc1 test01]# echo "hello world" > a.txt             ## 生成一个测试文件
[root@pc1 test01]# chattr +i a.txt                        ## 增加文件的i隐藏属性
[root@pc1 test01]# lsattr a.txt                           ## 查看文件的隐藏属性
----i----------- a.txt
[root@pc1 test01]# seq 5 > a.txt                          ## 修改文件,显示无法修改
-bash: a.txt: Permission denied
[root@pc1 test01]# rm a.txt                               ## 删除文件,无法删除
rm: cannot remove ‘a.txt’: Operation not permitted
复制代码

 

02、减少、查看文件的隐藏-i属性

复制代码
[root@pc1 test01]# ls
a.txt
[root@pc1 test01]# rm a.txt               ## 无法删除文件
rm: cannot remove ‘a.txt’: Operation not permitted
[root@pc1 test01]# lsattr a.txt           ## 查看文件的隐藏属性
----i----------- a.txt
[root@pc1 test01]# chattr -i a.txt        ## 减少文件的隐藏属性
[root@pc1 test01]# lsattr a.txt           ## 查看
---------------- a.txt
[root@pc1 test01]# rm a.txt               ## 删除测试,可以正常删除
[root@pc1 test01]# ls
复制代码

 。

 

002、-a参数

-a参数和-i参数的区别在于; -a参数允许追加文件;而-i参数不允许

01、测试-a只允许追加的选项

复制代码
[root@pc1 test01]# ls
[root@pc1 test01]# seq -w 5 > a.txt         ## 生成测试数据
[root@pc1 test01]# ls
a.txt
[root@pc1 test01]# lsattr a.txt
---------------- a.txt
[root@pc1 test01]# chattr +a a.txt          ## 增加文件的-a追加参数
[root@pc1 test01]# lsattr a.txt             ## 查看文件的-a追加选项
-----a---------- a.txt
[root@pc1 test01]# echo "hello world" >> a.txt        ## 追加测试
[root@pc1 test01]# cat a.txt
1
2
3
4
5
hello world
[root@pc1 test01]# rm a.txt                  ## 有隐藏的-a选项,文件也是不能删除
rm: cannot remove ‘a.txt’: Operation not permitted
复制代码

 。

 

 

-i 选项无法对文件进行任何修改; -i如果对目录设置:不能在目录内创建任何文件,但是可以对目录内的文件进行修改;

-a选项:除了可以进行追加外,不能对文件进行任何修改。

chattr 修改权限; eg:chattr +i a.txt

lsattr  查看权限; eg: lsattr a.txt

.

 

posted @   小鲨鱼2018  阅读(624)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-03-31 c语言函数中多维数组的传递(以多维数组作为参数)
2021-03-31 创建一个函数,将和有n个元素的数组中的key相等的所有元素的下标存储在另一数组中,并返回和key元素相同的元素的个数。
2021-03-31 创建一个函数,将和有n个元素的数组中的key相等的所有元素的下标存储在另一数组中,并返回和key元素相同的元素的个数。
2021-03-31 c语言中数组元素的哨兵查找法
2021-03-31 c语言中数组元素的线性查找
点击右上角即可分享
微信分享提示