Linux chattr命令怎么使用 Linux chattr命令使用方法

这两个命令是用来查看和改变文件、目录属性的,与chmod这个命令相比,chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的。



Linux chattr命令怎么使用:

chattr [ -RVf ] [ -v version ] [ mode ] files…最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的属性。

+ :在原有参数设定基础上,追加参数。

- :在原有参数设定基础上,移除参数。

= :更新为指定参数设定。

A:文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。

S:硬盘I/O同步选项,功能类似sync。

a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。

c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。

d:即no dump,设定文件不能成为dump程序的备份目标。

i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。

j:即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。

s:保密性地删除文件或目录,即硬盘空间被全部收回。

u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion。各参数选项中常用到的是a和i。a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。

应用举例:

1、用chattr命令防止系统中某个关键文件被修改:# chattr +i /etc/resolv.conf

然后用mv /etc/resolv.conf等命令操作于该文件,都是得到Operation not permitted 的结果。vim编辑该文件时会提示W10: Warning: Changing a readonly file错误。要想修改此文件就要把i属性去掉: chattr -i /etc/resolv.conf

# lsattr /etc/resolv.conf会显示如下属性----i-------- /etc/resolv.conf

2、让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:# chattr +a /var/log/messages



chattr和lsattr命令:

 在一个技术群上看到这么一个问题:

问题出现在服务器被黑后!特意出记录下问题的解决方法。

由于被黑了,所以我们的很多命令将会出现使用不正常等问题,而这些问题大多是给人家添加或删除了某些权限所致。比较常用的解决方法是直接cp一份正常的命令执行应用或重新安装那个命令包,当然如是出现上述的问题,以下方法可能就会帮得了你:

使用lsattr命令查看文件的隐藏属性,而用chattr来修改为正常值。



以下的两个命令的解释和使用方法:

1、lsattr

 语法: #lsattr [-aR]

参数说明:

-a :将隐藏文件的属性也列出来;

-R :连同子目录的数据也一并列出来!

范例:

 # chattr +i .bash_logout ——>添加一个隐藏的“i”属性,后面再细讲

#lsattr -a           ——>将当前目录的文件或目录下的文件所有属性(包括隐藏属性)列出

 -------------- ./.

 -------------- ./..

 ---i---------- ./.bash_logout

 -------------- ./.bash_profile

   
-------------- ./.bashrc



2、chattr

语法:#chattr [+-=][ASacdistu] [档案或目录名称]

参数说明:

+-= :分别为 [+ 增加] [- 减少] [= 设定] 属性的意思

A  :当设定了 A 这个属性时,这个档案(或目录)的存取时间

atime (access) 将不可被修改, 可避免例如手提式计算机容易有磁盘 I/O 错误的情况发生!

S  :这个功能有点类似 sync 的功能!就是会将数据同步写入磁盘当中!可以有效的避免数据流失!

a  :当设定 a 之后,这个档案将只能增加数据,而不能删除,只有 root 才能设定这个属性。

 c  :这个属性设定之后,将会自动的将此档案『压缩』,在读取的时候将会自动解压缩出来,但是在储存的时候,将会先进行压缩之后再储存(看来对于大档案似乎蛮有用的!)

d  :当 dump (备份)程序被执行的时候,设定 d 属性将可使该档案(或目录)具有 dump 功效!

i  :这个 i 可就很厉害了!他可以让一个档案『不能被删除、改名、设定连结也无法写入或新增数据!对于系统安全性有相当大的帮助!

 j  :当使用 ext3 这个档案系统格式时,设定 j 属性将会使档案在写入时先记录在 journal 中! 但是当 filesystem 设定参数为 data=journalled 时,由于已经设定了日志了,所以这个属性无效!

s  :当档案设定了 s 参数时,他将会被完全的移除出这个硬盘空间。

 u  :与 s 相反的,当使用 u 来设定档案时,则数据内容其实还存在磁盘中,可以使用来 undeletion.

 范例:

#chattr +i /etc/shadow     ——>添加“i”隐藏属性后,就无法更动这个文件了

#chattr -i /etc/shadow     ——>解除"i"这个隐藏属性

补充说明:

本命令是重要的,尤其是在系统的安全性上面。由于这些属性是隐藏的性质,所以需要以 lsattr才能看到该属性。其中,最为重要的是属 +i 这个属性了,因为他可以让一个档案无法被更动,对于需要强烈的系统安全的人来说,真是相当的重要的!里头还有相当多的属性是需要 root 才能设定的!此外,如果是 log file 这种的登录档,就更需要 +a 这个可以增加,但不会被杀掉的参数了。

时间: 2024-09-07 13:46:41

Linux chattr命令怎么使用 Linux chattr命令使用方法的相关文章

Linux命令学习总结之rm命令_Linux

命令简介: rm命令用来删除Linux系统中的文件或目录.通常情况下rm不会删除目录,你必须通过指定参数-r或-R来删除目录.另外rm通常可以将该文件或目录恢复(注意,rm删除文件其实只是将指向数据块的索引点(information nodes)释放,只要不被覆盖,数据其实还在硬盘上.如果想要保证文件的内容无法复原,可以使用命令shred . 另外一般还是要慎用rm -rf *这样的命令. 执行权限 :All User 指令所在路径:/bin/rm 命令语法: rm [OPTION]... FI

Linux进程管理的4个常用命令

Linux是一个多用户.多任务的操作系统.在这样的系统中,各种计算机资源(如文件.内存.CPU等)的分配和管理都以进程为单位.为了协调多个进程对这些共享资源的访问,操作系统要跟踪所有进程的活动,以及它们对系统资源的使用情况,从而实施对进程和资源的动态管理.进程在一定条件下可以对诸如文件.数据库等客体进行操作.如果进程用作其他不法用途,将给系统带来重大危害.在现实生活当中,许多网络黑客都是通过种植"木马"的办法来达到破坏计算机系统和入侵的目的,而这些"木马"程序无一例

Linux组、用户、权限相关命令练习

任务要求 研发部开发人员David和Peter属于组A: 行政部人员Jack 和Mike属于组B: 1.建立共享目录"/project_a",该目录里面的文件只能由 研发部开发人员读取.增加.删除.修改以及执行,其他用户不能对该目录进行 任何的访问操作: 2.建立目录"/project_b",该目录里面的文件只能由行 政部人员读取.增加.删除.修改以及执行,其他用户不能对该目录进行任何的 访问操作: 3.建立目录"/project",该目录里面的

Linux系统如何关闭scp和sftp命令

  Linux系统如何关闭scp和sftp命令. sftp介绍 sftp是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.sftp 与 ftp 有着几乎一样的语法和功能 scp介绍 两台主机之间传输文件一般使用scp命令,通常用scp命令通过ssh获取对方linux主机文件的时候都需要输入密码确认,方法差不多了. 禁止scp和sftp命令服务器教程 系统:centos 5.x 1.先禁止scp rpm -qa|grep o

Linux中用于进程显示的top命令使用实例集锦

  Linux中的top命令显示系统上正在运行的进程.它是系统管理员最重要的工具之一.被广泛用于监视服务器的负载.在本篇中,我们会探索top命令的细节.top命令是一个交互命令.在运行top的时候还可以运行很多命令.我们也会探索这些命令.(注:不同发行版的top命令在各种细节有不同,如果发现不同时,请读你的帮助手册和命令内的帮助.) 1. Top 命令输出: 首先,让我们了解一下输出.top命令会显示系统的很多信息.我们需要理解不同部分输出的意义:默认运行时,top命令会显示如下输出: (默认显

Linux系统的关机与重启相关命令总结

  1. sync sync:flush file system buffers. sync命令作用:刷新文件系统的缓存,将数据同步写入硬盘. 执行sync命令的必要性:在计算机中,CPU所处理的数据首先要被读入内存中,而这些数据又经常要写回到硬盘上,但是硬盘的速度相对于内存来说太慢,如果数据频繁在内存与硬盘间交换,系统性能将大打折扣,所以为了加快数据的读取速度,默认情况下,某些已经加载在内存中的数据将不会直接被写回硬盘,而是先暂存在内存当中,这时如果关机或重启电脑,暂存在内存中的数据将可能丢失

linux下Mysql的启动关闭的命令

 下面我来为各位介绍linux下Mysql的启动关闭的命令,有需要了解的朋友不防进入看看吧.     linux下Mysql的启动关闭(本文基于centos6.4.mysql5.7.3),mysql安装在/usr/local/mysql目录下: [root@lnmp ~]# /usr/local/mysql/bin/mysql --version /usr/local/mysql/bin/mysql  Ver 14.14 Distrib 5.7.3-m13, for Linux (x86_64)

Linux的文件压缩——tar和zip命令

今天因为准备远程压缩个文件,结果用tar命令失败了好几次.看来命令还是常用才熟悉啊. tar命令: 简介:tar命令只是把目录打包成一个归档(文件),并不负责压缩.在tar命令中可以带参数调用gzip或bzip2压缩.因为gzip和bzip2只能压缩单个文件. 在linux下是不需要后缀名的,但通常tar归档后缀名为.tar,gzip压缩后的后缀名为.gz,bzip2压缩后的后缀名为.bz2. 命令用法: tar [参数]  [文件或目录] 1 #比如把x文件夹打包并用gzip压缩. 2 tar

Linux工具快速上手,Linux很实用命令

Linux工具快速上手   前言 Linux下有很多命令行工具供我们使用,每个工具总是提供了大量参数供我们选择: 实际工作中,我们用到的工具,最常用的总是那么几个参数组合: 为此,我写了这本书相对实用的书: 这本书专注于Linux工具的最常用用法,以便读者能以最快时间掌握,并在工作中应用: 说明 全书分为三个部分: 第一部分为基础篇,介绍我们工作中常用的工具的高频用法: 第二部分为进阶篇,介绍的工具更多的适合程序员使用,分为程序构建.程序调试及程序优化: 第三部分是工具参考篇,主要介绍实用工具的