日期:2014-05-16  浏览次数:20798 次

linux扩展隐藏属性 与 lsattr/chattr命令
1、ext3的隐藏属性(attribute) 
    在2.2和2.4系列的内核中,ext3文件系统支持以下属性的设置和查询:     
    A 
    Atime。告诉系统不要修改对这个文件的最后访问时间。     
    S 
    Sync。一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。     
    a 
    Append Only。系统只允许在这个文件之后追加数据,不允许任何进程覆盖或者截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。     
    i 
    Immutable。系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允 许建立和删除文件。     
    d 
    No dump。在进行文件系统备份时,dump程序将忽略这个文件。     
    c 
    Compress。系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数 据首先被压缩之后,才写入磁盘。     
    s 
    Secure Delete。让系统在删除这个文件时,使用0填充文件所在的区域。     
    u 
    Undelete。当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。 




2、每个内核版本支持的属性标志: 
    
    * 允许设置这个标志并使设置生效 
    i 允许设置这个标志但忽略其值 
    - 完全忽略这个标志 
    
        1.0 1.2 2.0 2.2 2.4 
    A    -   -   *   *   * 
    S    *   *   *   *   * 
    a    -   *   *   *   * 
    i    -   *   *   *   * 
    d    -   *   *   *   * 
    c    i   i   i   i   i 
    s    *   *   i   i   i 
    u    i   i   i   i   i 




3、lsattr显示隐藏属性命令:一般都有这个命令,如果没有,则下载这个工具包的源代码编译并安装:http://sourceforge.net/projects/e2fsprogs 
    
    lsattr命令只支持很少的选项,其选项如下: 
    
    -a 
    列出目录中的所有文件,包括以.开头的文件。     
    -d 
    以和文件相同的方式列出目录,并显示其包含的内容。     
    -R 
    以递归的方式列出目录的属性及其内容。     
    -v 
    列出文件版本(用于网络文件系统NFS)。 




4、chattr设置命令,可以通过以下三种方式执行: 
    
    chattr +Si test.txt 
    给test.txt文件添加同步和不可变属性。 
    
    chattr -ai test.txt 
    把文件的只扩展(append-only)属性和不可变属性去掉。 
    
    chattr =aiA test.txt 
    使test.txt文件只有a、i和A属性。 
    
    最后,每个命令都支持-R选项,用于递归地对目录和其子目录进行操作。 




5、我们应该使用chattr做什么? 
    主机直接暴露在Internet或者位于其它危险的环境,有很多shell帐户或者提供HTTP和FTP等网络服务,一般应该在安装配置完成后使用 如下命令: 
    
    chattr -R +i /bin /boot /etc /lib /sbin 
    chattr -R +i /usr/bin /usr/include /usr/lib /usr/sbin 
    chattr +a /var/log/messages /var/log/secure (...) 
    
    如果很少对帐户进行添加、变更或者删除,把/home本身设置为immutable属性也不会造成什么问题。在很多情况下,整个/usr目录树也应该具有不可改变属性。实际上,除了对/usr目录使用chattr -R +ii /usr/命令外,还可以在/etc/fstab文件中使用ro选项,使/usr目录所在的分区以只读的方式加载。另外,把系统日志文件设置为只能添加属性(append-only),将使入侵者无法擦除自己的踪迹。