正确设置Linux扩展属性增强文件安全

日期: 2013-08-18 作者:Sander van Vugt翻译:陈德文 来源:TechTarget中国 英文

Linux扩展属性可以保护文件免于意外或恶意修改,并且只需要几句简单命令就可以加强服务器安全。 在Unix的初期,可以分配三种权限,包括用户(user)、组(group)和其他(other)。随着Linux逐渐取代Unix和数据安全性得到越来越高重视,Linux扩展属性因此而诞生。 权限与属性最重要的不同在于属性并不依赖于某个用户帐号。

因此,可以将文件授权给所有用户,甚至是root。你也可以使用属性来保护文件免于被意外删除或修改。 要使用扩展属性,首先需要Linux文件系统支持。在ext3和ext4文件系统上,通过命令tune2fs -l来检查是否支持。

检查默认挂载选项;如果在列表中没有发现相……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

Linux扩展属性可以保护文件免于意外或恶意修改,并且只需要几句简单命令就可以加强服务器安全。

在Unix的初期,可以分配三种权限,包括用户(user)、组(group)和其他(other)。随着Linux逐渐取代Unix和数据安全性得到越来越高重视,Linux扩展属性因此而诞生。

权限与属性最重要的不同在于属性并不依赖于某个用户帐号。因此,可以将文件授权给所有用户,甚至是root。你也可以使用属性来保护文件免于被意外删除或修改。

要使用扩展属性,首先需要Linux文件系统支持。在ext3和ext4文件系统上,通过命令tune2fs -l来检查是否支持。检查默认挂载选项;如果在列表中没有发现相关信息,可通过命令 tune2fs -o user_xattr /dev/yourfilesystem 来启用扩展属性支持。同样还可以通过修改fstab文件,在其中增加user_xattr作为挂载选项。

一旦文件系统支持扩展属性,就可以很容易地通过chattr来设置所需的属性了。你所需要的是root权限。下列内容是Linux安全最常用的属性:

  • 只许增加(a): 允许为某个文件增加内容,但不允许移除现有的任何内容或删除该文件。
  • 不可变更(i):不允许进行删除或任何修改。
  • 安全删除(s):确保文件内容再删除后无法再被恢复。
  • 无法删除(u): 当无法删除该文件时,确保文件的内容可以修改。

例如,假设你希望某个文件不可变更,可以使用命令chattr +i filename 来增加属性。

可以通过lsattr命令来检查文件属性,实例1。通过lsattr命令,可以查看和验证文件现有属性。正如我们上述例子中使用的不可变更属性,即使是root用户都无法删除该文件。

[root@iad data]# chattr +i file1
[root@iad data]# lsattr file1
----i--------e-- file1
[root@iad data]# rm -f file1
rm: cannot remove 'file1': Operation not permitted

实例1.检查与设置Linux扩展属性

Linux扩展属性是在现有文件系统默认功能上进行补充与强化的安全措施。我们在上述例子基础上继续测试,对用户的home目录中所有文件增加“i”扩展属性,来保护这些文件不会被从用户的home目录中删除,即使是默认拥有文件权限的用户也无法删除。

其他扩展属性

ext4文件系统上,所有文件默认都设有extents(e)属性,因为ext4文件系统使用它们来存储文件。一个extent默认占用空间为2MB,而传统的文件系统块只有4KB。这个先进的文件系统功能是通过属性来实现的。

在chattr命令的主页上介绍,列表中的一些属性实际上可能无法使用。每个属性都需要在文件系统中才能支持与生效。如果文件系统不提供该功能,那么即使设置了属性,也是无法生效的。

翻译

陈德文
陈德文

TechTarget中国特约编辑