如何创建文件夹,linux如何创建文件

  • 编辑: 飞语燕
  • 2019-11-17 13:54:59
  • 人阅读
文件,如果希望在Linux中编写保护某些重要文件,以便它们不能被删除或篡改到以前的版本或其他版本,或者在其他情况下,您可能希望避免某些配置文件被软件自动修改。使用Chown和ch

  假如你想对Linux中的一些重要文件做写保护,这样它们就不能被删除或者被篡改成之前的版本或者其他东西,或者在其他情况下,你可能想避免某些配置文件被软件自动修改。使用chown和chmod命令修改文件的归属关系或者权限位是处理这种情况的一个解决方法,但这并不完美,因为这样无法避免有root权限的操作。这时chattr就派上用场了。

  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取代)

  不可变更标志位

  为了让一个文件不可变更,你需要按照如下方法为这个文件添加不可变更标志位。例如,对/etc/passwd文件做写保护:

  代码如下:

  $ sudo chattr i /etc/passwd

  注意设置或取消一个文件的不可变更标志位是需要root用户权限的。现在检查该文件不可变更标志位是否被添加上了。

  代码如下:

  $ lsattr /etc/passwd

  一旦文件被设置为不可变更,任何用户都将无法修改该文件。即使是root用户也不可以修改、删除、覆盖、移动或者重命名这个文件。如果你想再次修改这个文件,需要先把不可变更标志位取消了。

  用如下命令取消不可变更标志位:

  代码如下:

  $ sudo chattr -i /etc/passwd

  如果你想让一个目录(比如/etc)连同它下边的所有内容不可变更,使用-R选项:

  代码如下:

  $ sudo chattr -R i /etc

  只可追加标志位

  另一个有用的的标志位是只可追加,它只允许文件内容被追加的方式修改。你不能覆盖或者删除一个设置了只可追加标志位的文件。这个标志位在你想避免日志文件被意外清理掉的情况很有用。

  和不可变更标志位类似,你可以使用如下命令让文件变成只可追加模式:

  代码如下:

  $ sudo chattr a /var/log/syslog

  注意当你复制一个不可变更或者只可追加的文件到其他地方后,新文件不会保留这些标志位!

  结论

  在这个教程中,我展示了如何使用chattr和lsattr命令来管理额外的文件标志位,来避免文件被篡改(意外或者其他情况)的方法。注意你不能将chattr作为一个安全措施,因为不可变更标志位可以很容易被取消掉。解决这个问题的一个可能的方式是限制chattr命令自身的可用性,或者去掉CAPLINUXIMMUTABLE内核权能标志。关于chattr以及可用的标志位的更多细节,请参考它的man手册。

本文原标题:创建文件,创建文件命令

版权声明:本文由 飞语燕 整理编辑,如果侵权请联系我们!

转载注明出处:https://www.nintaus.net/houtai@123/makehtml_archives_action.php?endid=0&startid=0&typeid=0&totalnum=11732&startdd=2340&pagesize=20&seltime=0&sstime=1589370344&stime=&etime=&uptype=mkall&mkvalue=0&isremote=0&serviterm=

文章评论

共有 条评论来说两句吧...

用户名:

验证码:

Top