linux系统的文件保护
一些文件在Linux下看上去可能一切正常,但当您尝试删除的时候,居然也会报错,就像下边一样:
[root@linux236 root]# ls -l 1.txt
-rw-r--r-- 1 root root 0 Aug 5 23:00 1.txt
[root@linux236 root]# rm -rf 1.txt
rm: cannot unlink `1.txt': Operation not permitted
您是全能root用户,居然系统告诉您操作不允许,是Linux疯了么?
当然不是,如果您会用lsattr命令,问题就有了答案。
[root@linux236 root]# lsattr
---i---------- ./1.txt
-------------- ./weiqi.ldif
-------------- ./qi.schema
秘密终于暴露了,
在lsattr命令下,这个1.txt文件带有一个"i"的属性,所以才不可以删除。
您现在可以用下边的一系列命令:
[root@linux236 root]# lsattr 1.txt
---i---------- 1.txt
[root@linux236 root]# chattr -i 1.txt
[root@linux236 root]# rm -rf 1.txt
[root@linux236 root]#
成功了,这个属性专门用来保护重要的文件不被删除,
通常的情况下,懂得用这几个命令的通常系统管理员有能力判断这个文件是否可以被删除。
如果您想给一个文件多加点保护,可以使用下边的命令:
chattr +i filename 命令,
这样一来,想要删除这个文件就要多一个步骤。
同时,这样的文件也是不可以编辑和修改的。只有root用户才能使用chattr命令。
此命令可以在Linux ext2或ext3系统上使用。
类似于和Windows文件系统,不能随意删除的文件多半都有其道理,即使您知道如何删除,都应该三思而后行。
freebsd chflags
用法:chflags [参数] 关键词 档案
常用关键词:
schg 档案完全无法被修改(super-user only)。noschg(Anti)
sappend 档案內容只能用附加(append)的方式修改(super-user only)。nosappend(Anti)
sunlink 档案无法被刪除或者重命名(super-user only)。nosunlink(Anti)
uchg 档案完全无法被修改(super-user only 或者一般使用者)。nouchg(Anti)
uappend 档案內容只能用附加(append)的方式修改(super-user only 或者一般使用者)。uappend(Anti)
uunlink 档案无法被刪除或者重命名(super-user only 或者一般使用者)。nouunlink(Anti)
uchg 用于文件时,owner 不能修改文件,也不能删除文件或者对文件重命名;nouchg(Anti)
uappend 用于文件时,owner 只能以 append 的方式修改文件,不能删除文件或者对文件重命名;uunlink 用于文件时,owner 可以对文件进行修改,但不能删除文件或者对文件重命名。nouappend(Anti)
uchg 用于目录时,owner 不能删除目录或者重命名目录,可以修改目录中已有的文件,
但不能在目录中添加文件,也不能删除目录中的文件或者对其重命名;
uappend 用于目录时,owner 不能删除目录或者重命名目录,
可以修改目录中已有的文件和在目录中添加文件,不能删除目录中的文件或者对其重命名;
uunlink 用于目录时,owner 不能删除目录或者重命名目录,
可以修改目录中已有的文件和在目录中添加文件,也可以删除目录中的文件或者对其重命名。
结论:uchg>uappend>uunlink。
备注:随笔中内容来源于网上资料整理,仅供参考。
linux系统的文件保护的更多相关文章
- linux系统——etc下的passwd 文件
etcpasswd 文件 在登陆时要求输入用户名和密码,就是根据这个来的. root::0:0:root:/root:/bin/bash bin:x:1:1:bin:/dev/null:/bin/fa ...
- 在Linux系统下运行微信Web开发者工具
微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...
- Linux实战教学笔记06:Linux系统基础优化
第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...
- Linux系统中的Device Mapper学习
在linux系统中你使用一些命令时(例如nmon.iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. ...
- 玩转 Linux 系统的方法论
Linus 说“Just for fun”,而我要说“Just for 折腾”.想知道我是怎样折腾 Linux 的,请看下面这个截图: 从这个截图可以看出,我为了“折腾” Linux 系统,在我的电脑 ...
- Linux 系统中发博客必备的五大图片处理神器
发博客时,总免不了要用图片说话.经过长时间的磨合,在 Linux 桌面系统下有几款图片处理软件我已经用得比较顺手了.这几款软件在 Linux 世界使用广泛,各个 Linux 发行版的软件仓库中都有自带 ...
- 探索 Linux 系统的启动过程
引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...
- 在linux系统中安装VSCode(Visual Studio Code)
在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网 ...
- 如何重置硬盘遭到“损坏”的Linux系统root用户密码
传统印象下Linux是非常坚不可摧的,具有千年不更新,万年不重启的美名.而随着虚拟化的推进,很多跑在虚拟化上的Linux由于先前基础架构的脆弱,变得适应性“越来越不好”,体现在IP存储如果出现节点故障 ...
随机推荐
- hdu 5564 Clarke and digits
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5564 ------------------------------------------------ ...
- 114、TensorFlow设备放置
# creates a variable named v and places it on the second GPU device import tensorflow as tf #with tf ...
- offsetleft 和 style.left 的区别
offsetLeft 获取的是相对于父对象的左边距: left 获取或设置相对于 具有定位属性(position定义为relative)的父对象 的左边距: 如果父div的position定义为rel ...
- Javascript在ajax提交过程中页面显示加载中,请等待效果,并在提交过程中限制确定按钮防止多次提交,提交完成后,解除提交限制
加载中,请等待div: <div id="load" class="center-in-center" style="display:none; ...
- Html5 学习笔记 【PC固定布局】 实战1 导航栏
导航栏html文件: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=& ...
- shell ssh和mount 挂载问题
任务: 将服务器端数据挂载在板子上 1. 首先ssh问题 spawn ssh $remote_user@$remote_host (1) ssh:connect to host 10.110.6.50 ...
- python多线程的几种情形分析-三种情况
情形一:默认情况 默认情况,只开启线程,那么,主线程结束,其他子线程可能还没结束. 只使用t=threading.Thead(target=fun),t.start(). import threadi ...
- 为什么学python
一.什么是Python Python [1](英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum发明. ...
- CSS深入理解line-height
1.line-height高度基于基线 2. 3.p元素的高度由行高决定的 4. 5.
- springCloud的使用05-----路由网关(zuul)
zuul的主要功能是路由转发和过滤,比如让所有/api-a/*的请求都转发到服务器a上,所有/api-b/*的请求都转发到服务器b上,zuul默认和ribbon结合实现了负载均衡的功能. 1 zuul ...