Docs/linux基础/linux的chattr与lsattr命令详解.html
2022-10-18 16:59:37 +08:00

165 lines
No EOL
6.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="tool" content="leanote-desktop-app">
<title>linux的chattr与lsattr命令详解</title>
<style>
*{font-family:"lucida grande","lucida sans unicode",lucida,helvetica,"Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;}
body {
margin: 0;
}
/*公用文字样式*/
h1{font-size:30px}h2{font-size:24px}h3{font-size:18px}h4{font-size:14px}
.note-container{
width:850px;
margin:auto;
padding: 10px 20px;
box-shadow: 1px 1px 10px #eee;
}
#title {
margin: 0;
}
table {
margin-bottom: 16px;
border-collapse: collapse;
}
table th, table td {
padding: 6px 13px;
border: 1px solid #ddd;
}
table th {
font-weight: bold;
}
table tr {
background-color: none;
border-top: 1px solid #ccc;
}
table tr:nth-child(2n) {
background-color: rgb(247, 247, 249);
}
.mce-item-table, .mce-item-table td, .mce-item-table th, .mce-item-table caption {
border: 1px solid #ddd;
border-collapse: collapse;
padding: 6px 13px;
}
blockquote {
border-left-width:10px;
background-color:rgba(128,128,128,0.05);
border-top-right-radius:5px;
border-bottom-right-radius:5px;
padding:15px 20px;
border-left:5px solid rgba(128,128,128,0.075);
}
blockquote p {
margin-bottom:1.1em;
font-size:1em;
line-height:1.45
}
blockquote ul:last-child,blockquote ol:last-child {
margin-bottom:0
}
pre {
padding: 18px;
background-color: #f7f7f9;
border: 1px solid #e1e1e8;
border-radius: 3px;
display: block;
}
code {
padding: 2px 4px;
font-size: 90%;
color: #c7254e;
white-space: nowrap;
background-color: #f9f2f4;
border-radius: 4px;
}
.footnote {
vertical-align: top;
position: relative;
top: -0.5em;
font-size: .8em;
}
hr {
margin:2em 0
}
img {
max-width:100%
}
pre {
word-break:break-word
}
p,pre,pre.prettyprint,blockquote {
margin:0 0 1.1em
}
hr {
margin:2em 0
}
img {
max-width:100%
}
.sequence-diagram,.flow-chart {
text-align:center;
margin-bottom:1.1em
}
.sequence-diagram text,.flow-chart text {
font-size:15px !important;
font-family:"Source Sans Pro",sans-serif !important
}
.sequence-diagram [fill="#ffffff"],.flow-chart [fill="#ffffff"] {
fill:#f6f6f6
}
.sequence-diagram [stroke="#000000"],.flow-chart [stroke="#000000"] {
stroke:#3f3f3f
}
.sequence-diagram text[stroke="#000000"],.flow-chart text[stroke="#000000"] {
stroke:none
}
.sequence-diagram [fill="#000"],.flow-chart [fill="#000"],.sequence-diagram [fill="#000000"],.flow-chart [fill="#000000"],.sequence-diagram [fill="black"],.flow-chart [fill="black"] {
fill:#3f3f3f
}
ul,ol {
margin-bottom:1.1em
}
ul ul,ol ul,ul ol,ol ol {
margin-bottom:1.1em
}
kbd {
padding:.1em .6em;
border:1px solid rgba(63,63,63,0.25);
-webkit-box-shadow:0 1px 0 rgba(63,63,63,0.25);
box-shadow:0 1px 0 rgba(63,63,63,0.25);
font-size:.7em;
font-family:sans-serif;
background-color:#fff;
color:#333;
border-radius:3px;
display:inline-block;
margin:0 .1em;
white-space:nowrap
}
.toc ul {
list-style-type:none;
margin-bottom:15px
}
</style>
<!-- 该css供自定义样式 -->
<link href="../leanote-html.css" rel="stylesheet">
</head>
<body>
<div class="note-container">
<h1 class="title" id="leanote-title">linux的chattr与lsattr命令详解</h1>
<div class="content-html" id="leanote-content"><p><strong>PS有时候你发现用root权限都不能修改某个文件大部分原因是曾经用chattr命令锁定该文件了。chattr命令的作用很大其中一些功能是由<a href="http://www.ha97.com/category/linux" data-mce-href="http://www.ha97.com/category/linux">Linux</a>内核版本来支持的,不过现在生产绝大部分跑的<a href="http://www.ha97.com/tag/linux" data-mce-href="http://www.ha97.com/tag/linux">linux</a>系统都是2.6以上内核了。通过chattr命令修改属性能够提高系统的安全性但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。</strong></p><p>这两个命令是用来查看和改变文件、目录属性的与chmod这个命令相比chmod只是改变文件的读写、执行权限更底层的属性控制是由chattr来改变的。</p><p>chattr命令的用法chattr [ -RVf ] [ -v version ] [ mode ] files…<br>最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的<br>属性。<br><code><br>+ :在原有参数设定基础上,追加参数。<br>- :在原有参数设定基础上,移除参数。<br>= :更新为指定参数设定。<br>A文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。<br>S硬盘I/O同步选项功能类似sync。<br>a即append设定该参数后只能向文件中添加数据而不能删除多用于服务器日志文件安全只有root才能设定这个属性。<br>c即compresse设定文件是否经压缩后再存储。读取时需要经过自动解压操作。<br>d即no dump设定文件不能成为dump程序的备份目标。<br>i设定文件不能被删除、改名、设定链接关系同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。<br>j即journal设定此参数使得当通过mount参数data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal则该参数自动失效。<br>s保密性地删除文件或目录即硬盘空间被全部收回。<br>u与s相反当设定为u时数据内容其实还存在磁盘中可以用于undeletion。<br>各参数选项中常用到的是a和i。a选项强制只可添加不可删除多用于日志系统的安全设定。而i是更为严格的安全设定只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力标识的进程能够施加该选项。<br></code></p><p><strong>应用举例:</strong><br><span id="more-5172"></span><br>1、用chattr命令防止系统中某个关键文件被修改<br><code># chattr +i /etc/resolv.conf</code></p><p>然后用mv /etc/resolv.conf等命令操作于该文件都是得到Operation not permitted 的结果。vim编辑该文件时会提示W10: Warning: Changing a readonly file错误。要想修改此文件就要把i属性去掉 chattr -i /etc/resolv.conf</p><p># lsattr /etc/resolv.conf<br>会显示如下属性<br><code>----i-------- /etc/resolv.conf</code></p><p>2、让某个文件只能往里面追加数据但不能删除适用于各种日志文件<br><code># chattr +a /var/log/messages</code></p></div>
</div>
<!-- 该js供其它处理 -->
<script src="../leanote-html.js"></script>
</body>
</html>