在改一个系统当中的文件参数时,

vim config.php 时,提示 E45: 'readonly' option is set (add ! to override) ,同时不能编辑不能删除不能设置权限等。

ll config.php 时是 644权限没有问题,

想起 linux 在针对 ext2/ext3 的文件系统文件可以设置,隐藏属性 chattr lsattr

查看 lsattr config.php 发现有个 i 属性,i 属性是不能被删除、改名、配置连结也无法写入或新增数据!对于系统安全性特别好

  (想起来是应该是之前怕被入侵防篡改,而设置的,这里在说明与回忆一下,相关的知识点)

[root@xxx data]# lsattr config.php
-------------e-- config.php

chattr -i config.php 修改参数后,

lsattr config.php 可以看到返回的结果是,

[root@xxx data]# lsattr config.php
----i--------e-- config.php

vim config.php 修改完后,chattr +i config.php

回忆一下 chattr 与 lsattr

隐藏属性
除了基本r, w, x权限外,在Linux的Ext2/Ext3文件系统下,我们还可以配置其他的系统隐藏属性. chattr (配置文件隐藏属性)
选项与参数:
+ :添加某一个特殊参数,其他原本存在参数则不动.
- :移除某一个特殊参数,其他原本存在参数则不动.
= :配置一定,且仅有后面接的参数 a :当配置 a 之后,这个文件将只能添加数据,而不能删除也不能修改数据,只有root 才能配置这个属性.
i :可以让一个文件不能被删除、改名、配置连结也无法写入或新增数据!只有 root 能配置此属性
注意:属性配置常见的是 a 与 i 的配置值,而且很多配置值必须要身为 root 才能配置 [root@xxx tmp]# chattr +i attrtest
[root@xxx tmp]# chattr -i attrtest
这个命令是很重要的,尤其是在系统的数据安全上面! lsattr (显示文件隐藏属性)
[root@xxx tmp]# lsattr attrtest
----ia---j--- attrtest
使用 chattr 配置后,可以利用 lsattr 来查阅隐藏的属性.

by bin,widgetbox

原文地址:http://www.cnblogs.com/widgetbox/p/7443916.html

linux 编辑文件时 E45: 'readonly' option is set (add ! to override) 隐藏属性 chattr lsattr的更多相关文章

  1. Ubuntu问题:E45: 'readonly' option is set (add ! to override)错误解决

    问题描述:E45: 'readonly' option is set (add ! to override) 问题分析:该错误为当前用户没有权限对文件作修改 问题解决: 输入 :w !sudo tee ...

  2. 【Linux】解决用vi修改文件,保存文件时,提示“readonly option is set”

    当在终端执行sudo命令时,系统提示“hadoop is not in the sudoers file”: 其实就是没有权限进行sudo,解决方法如下(这里假设用户名是cuser): 1.切换到超级 ...

  3. MAC 'readonly' option is set (add ! to override)错误解决

    该错误为当前用户没有权限对文件作修改 输入 :w !sudo tee %

  4. vs切换当前编辑文件时自动定位目录树

    在编辑区,切换当前编辑文件时(单击.cpp或.h文件选项卡),"解决方案资源管理器"目录树会自动定位当前编辑的文件,并以灰色标识,当一个解决方案中的工程数目数目很多,每个工程下面又 ...

  5. NetBeans 7.2 or 8.0 编辑文件时不显示文件路径。

    NetBeans 7.2 or 8.0 编辑文件时不显示文件路径. 仅仅实用鼠标停在标签上一下,才干够看到.非常不方便. 怎样解: http://plugins.netbeans.org/plugin ...

  6. 删除vi编辑产生的.swp文件(linux编辑文件没有退出时直接关闭程序产生的临时文件)

    关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备不测(不测下面讨论),如果你正常退出,那么这个 ...

  7. 修改linux的文件时,如何快速找到要修改的内容并修改

    修改linux系统下的文件时,如果文件内容很多,不容易找到需要修改的内容,下面详细介绍linux系统下如何快速修改文件. 工具/原料   linux系统 方法/步骤     在linux系统下,找到需 ...

  8. python 编辑文件时路径问题解决方法:文件或者目录不存在、文件编辑后无法保存等(以编辑xml文件为例)

    1.获取工程所在根路径:根路径=os.path.dirname(os.path.abspath('__file__')) 2.将获取的根路径和相对路径组合:组合路径=os.path.join(根路径, ...

  9. vim编辑文件时[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

    ​​ ​ ​ 出现这个问题是因为你上次编辑的时候在没有保存的情况下退出了(如:电脑关机等)也有可能是有其他人在和你同时进行编辑行为(不同会话中).这是因为在用vim编辑的时候,vim会在打开文件目录下 ...

随机推荐

  1. IIS 发布 处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler”

    IIS上部署MVC网站,打开后500错误:处理程序"ExtensionlessUrlHandler-Integrated-4.0"在其模块列表中有一个错误模块"Manag ...

  2. Struts2学习笔记(六)——Action处理请求参数

    在struts2框架中关于Action处理请求参数有两种方案(三个方式),表单属性的名称应该和在Action类中定义的成员属性或者在JavaBean中定义的成员属性名称一样: 1.属性驱动 1)直接在 ...

  3. 【Zookeeper】角色、顺序号、读写机制

    角色 leader 负责进行投票的发起和决议,更新系统状态 learner 包括follower和observer follower用于接受客户端请求并向客户端返回结果,在选举过程中参与投票 obse ...

  4. Java中构造方法跟普通方法的区别?

    构造方法与普通方法的调用时机不同. 首先在一个类中可以定义构造方法与普通方法两种类型的方法,但是这两种方法在调用时有明显的区别. 1.构造方法是在实例化新对象(new)的时候只调用一次 2.普通方法是 ...

  5. 早期MyBatis开发与接口式Mybatis开发的简介

    早期MyBatis开发与接口式Mybatis开发的简介 一.早期版本的myBatis使用 导jar包            1.配置mybatis.xml的配置文件                1) ...

  6. Python学习笔记6

    raw_input 与 input 使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的 当输入为纯数字时 input返回的是数值类型,如 ...

  7. C#连接Firebird方法

    Firebird Data Provider For .NET 连接 Firebird 数据库文件 下载 Firebird 嵌入式数据库:Firebird-2.5.0.25920-0_Win32_em ...

  8. ref与out的区别、冒泡排序、普通排序,以及二分法查询

    一.首先我们先讲一下ref与out的区别和使用方法: 1.ref与out的区别: out:需要在使用前声明变量,分配地址但不能赋值,但是需要在使用中的时候需要初始化(进入方法体中的时候需要先赋值在使用 ...

  9. lucene&solr-day1

        全文检索课程 Lucene&Solr(1) 1.   计划 第一天:Lucene的基础知识 1.案例分析:什么是全文检索,如何实现全文检索 2.Lucene实现全文检索的流程 a)   ...

  10. Vue双向数据绑定原理解析

    基本原理 Vue.采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter和getter,数据变动时发布消息给订阅者,触发相应函数的回调 ...