linux关于系统文件安全性的命令

chattr 与 lsattr

chattr
  
   1.作用
  
  修改ext2和ext3文件系统属性(attribute),使用权限超级用户。
  
   2.格式
  
  chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目录
  
   3.主要参数
  
  -R:递归处理所有的文件及子目录。
  
  -V:详细显示修改内容,并打印输出。
  
  -:失效属性。
  
  +:激活属性。
  
  = :指定属性。
  
  A:Atime,告诉系统不要修改对这个文件的最后访问时间。
  
  S:Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
  
  a:Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
  
  i:Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
  
  D:检查压缩文件中的错误。
  
  d:No dump,在进行文件系统备份时,dump程序将忽略这个文件。
  
  C:Compress,系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘。
  
  :Secure Delete,让系统在删除这个文件时,使用0填充文件所在的区域。
  
  u:Undelete,当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。
  
   4.说明
  

  chattr 命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多功能不能实现。同样-D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持。另外,通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。

lsattr 命令

lsatrr [-aR]

-a :将隐藏文件的属性页显示出来

-R:连同子目录的数据一并显示出来

用途

显示系统中设备的属性特征和可能的属性值。

语法

lsattr { -D [ -O ] | -E [ -O ] | -F Format [ -ZCharacter ] } -l Name [ -a Attribute ] ...[ -f File ] [ -h ] [ -H ]

lsattr { -D [ -O ] | -F Format [ -ZCharacter ] } { [ -c Class ] [ -s Subclass ] [ -t Type ] } [ -a Attribute ] ... [ -f File ] [ -h ] [ -H ]

lsattr -R { -l Name | [ -c Class ] [ -s Subclass ] [ -t Type ] } -a Attribute [ -f File ] [ -h ] [ -H ]

lsattr -l Name { -o operation [ ... ] } -F Format [ -Z Character ] [ -f File ] [ -h ] [ -H ]

lsattr { [ -c Class ] [ -s Subclass ] [ -t Type ] } { -o operation [ ... ] } -F Format [ -Z Character ] [ -f File ] [ -h ] [ -H ]

描述

lsattr 命令显示关于给定设备或设备类型的属性信息。如果没有指定设备逻辑名(-l Name),则必须使用所有-c Class-s Subclass-t Type 的一个或全部标志的组合来唯一标识预定义设备。

在使用 lsattr 命令时必须指定以下某一个标志:

-D 显示缺省值。
-E 显示有效值(只对于用 -l 标志指定的定制设备才有效)。
-F Format 指定用户定义格式。
-R 显示合法值的范围。

当显示定制设备的属性的有效值时,信息从配置数据库中获取,而不是从设备中获取。通常,数据库值反映了设备是如何配置的,除非使用带有标志-P-Tchdev 命令对其进行了重新配置。如果出现此种情况,lsattr 命令的显示信息可能不会正确表示当前设备的配置,直到下次系统引导以后。

如果使用 -D-E 标志,输出缺省值为属性名称的值描述和用户可设置字符串,除非也使用了-O 标志。-O 标志显示指定的所有属性名称,以冒号隔开。在下一行,-O 标志显示所有相应属性值,以冒号隔开。-H 标志能和-D-E-F标志一起使用,可以在列名上面显示头部分。可以使用-FFormat 标志将输出格式定义成用户指定格式,其中Format 参数是由非字母数字字符或空格分隔的列名引用列表。如果指定了 -F Format 标志,则也可以指定 -ZCharacter 标志以将缺省记录分隔符由 'newline' 字符更改为指示'Character'

lsattr 命令可以从扩展预定义属性(PdAtXtd)对象类显示"operation" 信息。该信息由基于 Web 的系统管理器使用。操作信息通过 -o operation 标志访问。-ooperation 标志和 -a attribute 标志不能在 lsattr 命令的同一个调用中指定。-ooperation 标志不与 -R 标志同时有效。当指定了-o operation 标志时,只有 PdAtXtd 对象类的字段可以用 -F Format 标志指定。

可以在命令行中或者从指定的 File 参数提供标志。

标志

-a 属性 显示特定设备或某类型设备的指定属性的信息。对每个属性名称或多个属性名称可以使用一个 -a 标志。如果对多个属性名称使用一个-a 标志,属性名称列表必须以引号括起来,并且名称间必须有空格。使用 -R 标志时,一个属性名称必须只指定一个 -a 标志。如果不指定-a-R 标志,lsattr 命令会显示特定设备的所有属性的所有信息。-aAttribute 标志不能与 -o Operation 标志一起使用。该标志组合导致 lsattr 命令退出,并带有一条错误消息。
-c Class 指定设备类名。使用该标志可以限制输出在指定类中的设备中。该标志不能和 -E-l 标志一起使用。
-D 当不和 -O 标志一起使用时,显示特定设备的属性名称、缺省值、描述和用户可设置标志值。当和-O 标志一起使用时,-D 标志只在冒号格式中显示属性名称和缺省值。该标志可以和唯一标识预定义设备对象类中设备的-c-s-t 标志的任意组合一起使用,也可以和-l标志一起使用。该标志不能和 -E-F、或-R 标志一起使用。
-E 当不和 -O 标志一起使用时,显示特定设备的属性名称、当前值、描述和用户可设置标志值。当和-O 标志一起使用时,-D 标志只在冒号格式中显示属性名称和当前值。该标志不能和-c-D-F-R-s-t 标志一起使用。
-f File File 参数中读取所需的标志。
-F Format 以用户指定格式显示输出,其中 Format 参数为预定义或定制设备对象类中的列名引用列表,这些列名由非字母数字字符或空格分隔。空格用作分隔符时,lsattr 命令以列对齐方式显示输出。只能指定来自预定义属性(PdAt)、定制属性(CuAt)和扩展预定义属性(PdAtXtd)对象类的列名。除列名外,有两个特殊用途名可供使用。使用名称description 可以获取属性描述显示,使用 user-settable 可以获取关于是否能更改属性的指示。该标志不能和-E-D-O-R 标志一起使用。
-H 显示列输出上方的头部分。将 -H 标志与 -O 标志一起使用是无意义的,通常使用 -O 标志就可以。将 -H 标志与 -R 标志一起使用是无意义的,通常使用 -R 标志就可以。
-h 显示命令使用消息。
-l Name 指定定制设备对象类中要显示其属性名称或值的设备逻辑名。
-o Operation 显示特定设备或特定种类设备的指定操作的信息。对每个操作名称或多个操作名称可以使用一个 -o标志。如果对多个操作名称使用一个-o 标志,则属性名称列表必须用引号括起来,并且名称之间有空格。也可以对操作名称使用通配符。通配符的有效设置与由odmget 命令使用的设置相同。与特定设备或设备种类关联的所有操作可以通过使用"?*" 的操作值来显示。-oOperation 标志不能与 -a attribute 标志或 -R 标志一起使用。这些标志的任何组合都导致 lsattr 命令退出,并带有一条错误消息。
-O 显示所有属性名且以冒号隔开,在第二行显示所有相应的属性值且以冒号隔开。当同时指定 -E 标志时,属性值是当前值,当指定 -D 标志时,属性值是缺省值。该标志不能与 -F-R 标志一起使用。
-R 显示属性名称的合法值。-R 标志不能和 -D-E-F-O 标志一起使用,但是可以和唯一标识预定义设备对象类中设备的-c-s-t 标志的任意组合一起使用,或者和-l 标志一起使用。-R 标志以垂直列方式显示列属性值,如下:
Value1
Value2
.
.
ValueN

-R 标志以 x...n(+i) 的方式显示范围属性值,其中x 是范围的开始,n 是范围的结束,i 是步长。

-s Subclass 指定设备的子类名称。该标志可用于限制输出到指定子类的设备中。该标志不能和 -E-l 标志一起使用。
-t Type 指定设备类型名称。该标志可用于限制输出到指定类的设备中。该标志不能和 -E-l 标志一起使用。
-Z Character -Z Character 标志通常用于需要处理 ODM 字符的程序,该字符可能已经嵌入换行字符。基于 Web 的系统管理器就是这类程序的一个示例。-ZCharacter 标志用于为每个生成的输出记录(行)更改记录分隔符。新的记录分隔符为该标志的 'Character' 变量。只有指定了 -F Format 标志,-ZCharacter 标志才有用。-Z Character 标志不能与 -D-E-O-R 标志一起使用。

示例

  1. 要列出磁带设备 rmt0 的当前属性值,请输入:
    lsattr -l rmt0 -E
    系统显示与以下类似的消息:
    mode          是    写过程中使用设备缓冲区               True
    block_size    1024  块大小(0=变量长度)                 True
    extfm         是    使用扩展文件标记                     True
    ret           否    重新拉紧磁带更改或重新设置           True
    density_set_1 37    密度设置 #1                          True
    density_set_2 36    密度设置 #2                          True
    compress      是    使用数据压缩                         True
    size_in_mb    12000 大小(兆字节)                       False
    ret_error     否    返回磁带更改错误或重新设置           True
  2. 要列出磁带设备 rmt0 的缺省属性值,请输入:
    lsattr -l rmt0 -D
    系统显示与以下类似的消息:
    mode          是    写过程中使用设备缓冲区               True
    block_size    1024  块大小(0=变量长度)                 True
    extfm         是    使用扩展文件标记                     True
    ret           否    重新拉紧磁带更改或重新设置           True
    density_set_1 37    密度设置 #1                          True
    density_set_2 36    密度设置 #2                          True
    compress      是    使用数据压缩                         True
    size_in_mb    12000 大小(兆字节)                       False
    ret_error     否    返回磁带更改错误或重新设置           True
  3. 要列出 SCSI 适配器 scsi0 的 bus_intr_lvl 属性的当前值,请输入:
    lsattr -l scsi0 -a bus_intr_lvl -E
    系统显示与以下类似的消息:
    bus_intr_lvl  1     总线中断级别                         False
  4. 要列出 tty 设备 tty0 的登录属性的可能值,请输入:
    lsattr -l tty0 -a login -R
    系统显示与以下类似的消息:
    enable
    disable
    share
    delay
  5. 要列出 IBM 4340 并行打印机的缺省属性值,请输入:
    lsattr -c printer -s parallel -t ibm4340 -D
    系统显示与以下类似的消息:
    ptop       600       打印机超时周期                             True
    line       60        每页的行数                                 True
    col        80        每页的列数                                 True
    ind        0         缩进的列数                                 True
    plot       否        不加修改,发送所有字符到打印机             True
    backspace  是        发送退格                                   True
    cr         是        发送回车符                                 True
    form       是        发送换页                                   True
    lf         是        发送换行                                   True
    addcr      是        将回车符添加到换行                         True
    case       否        将小写转换为大写                           True
    tabs       是        扩展八个位置边界的标记                     True
    wrap       是        合并超出指定宽度的字符                     True
    mode       否        返回错误                                   True
    并行接口的接口标准类型                                          True
    在引导期间自动配置可用状态                                      True
    busy_delay 0         要在字符间延迟的微秒                       True
  6. 要列出 IBM 4340 并行打印机的 ptop 属性的可能值,请输入:
    lsattr -c printer -s parallel -t ibm4340  -a ptop -R
    系统显示与以下类似的消息:
    1...1000 (+1)
  7. 要列出用冒号分开的格式的磁带设备 rmt0 的当前属性值,请输入:
    lsattr -l rmt0 -E -O
    系统显示与以下类似的消息:
    #mode:block_size:extfm:ret:density_set_1:density_set_2:compress:size_in_mb:ret_error
    是:1024:是:否:37:36:是:12000:否
  8. 要显示系统属性,请输入:
    lsattr -E -l sys0
    系统显示与以下类似的输出:
    keylock      normal        引导期间系统键盘锁定状态              False
    maxbuf       20            块 I/O 缓冲区高速缓存最大分页数       True
    maxmbuf      0             实内存中允许用作 MBUFS 的最大 Kb 数   True
    maxuproc     128           每用户允许的最大过程数                True
    autorestart  false         系统崩溃后自动重新引导                True
    iostat       false         连续维护磁盘 I/O 历史记录             True
    realmem      4194304       可用物理内存数(以后 Kb 为单位)      False
    conslogin    enable        系统控制台登录                        False
    fwversion    IBM,SPH00221  固件版本和修订级别                    False
    maxpout      0             每个文件暂挂写 I/O 的最高值标记       True
    minpout      0             每个文件暂挂写 I/O 的最低值标记       True
    fullcore     false         启用核心转储                          True
    pre430core   false         使用 430 样式的核心转储               True
    ncargs       6             ARG/ENV 列表大小(以 4Kb 块为单位)   True
    rtasversion  1             打开固件版本                          False
    modelname    IBM,7044-270  机器名称                              False
    systemid     IBM,011037D1F 硬件系统标识                          False
    boottype     disk          不适用                                False
    SW_dist_intr false         启用 SW 分发中断                      True
    cpuguard     disable       CPU Guard                             True
    frequency    93750000      系统频率总线                          False
    注:
    使用 SMIT(系统环境 -> 更改/显示操作系统的特征),可以以更易读的格式得到同样的信息。

你可能感兴趣的:(linux,File,IBM,character,parallel,linux内核)