Linux系统怎么建立一个不可变更文件
电脑上有时候会存放一些重要文件,用户不希望这些文件被系统或者是其他人随意更改。给这个文件设置读写权限是保护文件安全的一个方法,但是这个方法不够到位。可以把文件创建为不可更改文件,这样就可以确保文件的安全。那么Linux系统应该怎么样创建不可更改文件呢?
chattr是一个可以设置或取消文件的标志位的Linux命令,它和标准的文件权限(读、写、执行)是分离的。与此相关的另一个命令是lsattr,它可以显示文件的哪些标志位被设置上了。最初只有EXT文件系统(EXT2/3/4)支持chattr和lsattr所管理的标志位,但现在很多其他的原生的Linux文件系统都支持了,比如XFS、Btrfs、ReiserFS等等。
在这个教程中,我会示范如果使用chattr来让Linux中的文件不可变更。
chattr和lsattr命令是e2fsprogs包的一部分,它在所有现代Linux发行版都预装了。
chattr的基本语法
$ chattr [-RVf][操作符][标志位]文件。。。
其中操作符可以是“+”(把选定的标志位添加到标志位列表)、“-”(从标志位列表中移除选定的标志位)、或者“=”(强制使用选定的标志位)。
下面是一些可用的标志位。
a: 只能以追加模式打开。
A: 不能更新atime(文件访问时间)。
c: 当被写入磁盘时被自动压缩。
C: 关掉“写时复制”。
i: 不可变更。
s: 通过自动归零来安全删除。(LCTT 译注:一般情况文件被删后内容不会被修改,改标志位会使得文件被删后原有内容被“0”取代)