i:不可修改權限 例:chattr u+i filename 則filename檔案就不可修改,無論任何人,如果需要修改需要先删除i權限,用chattr -i filename就可以了。檢視檔案是否設定了i權限用lsattr filename。
測試如下
<code>01</code>
<code>#建立text檔案,這個檔案root有讀寫的權限</code>
<code>02</code>
<code>[root@</code><code>test</code> <code>tmp]</code><code># touch test</code>
<code>03</code>
<code>[root@</code><code>test</code> <code>tmp]</code><code># ll test</code>
<code>04</code>
<code>-rw-r--r-- 1 root root 0 oct 29 15:03 </code><code>test</code>
<code>05</code>
<code>06</code>
<code>#然後給test檔案賦予i權限</code>
<code>07</code>
<code>#(注意,修改和檢視i權限位需要特殊的chattr和lsattr指令)</code>
<code>08</code>
<code>[root@</code><code>test</code> <code>tmp]</code><code># chattr +i test</code>
<code>09</code>
<code>[root@</code><code>test</code> <code>tmp]</code><code># lsattr test</code>
<code>10</code>
<code>----i-------- </code><code>test</code>
<code>11</code>
<code>#測試使用超管root來修改和删除這個檔案</code>
<code>12</code>
<code>[root@</code><code>test</code> <code>tmp]</code><code># echo 123&gt;test</code>
<code>13</code>
<code>-</code><code>bash</code><code>: </code><code>test</code><code>: permission denied</code>
<code>14</code>
<code>[root@</code><code>test</code> <code>tmp]</code><code># \rm test</code>
<code>15</code>
<code>rm</code><code>: remove write-protected regular empty </code><code>file</code> <code><code></code><code>test</code><code>'? y</code>
<code>16</code>
<code>rm</code><code>: cannot remove </code></code><code>test</code><code>': operation not permitted</code>
<code>17</code>
<code>18</code>
<code>19</code>
<code>#全部報錯無法删除,這樣來保障這個檔案避免被别人篡改和删除。</code>
去除i權限使用chattr -i filename
如果對/etc/shadow添加了i權限,那麼就沒有辦法添加删除和修改linux賬号了,可以作為安全加強的一個小方法
a:隻追權重限, 對于日志系統很好用,這個權限讓目标檔案隻能追加,不能删除,而且不能通過編輯器追加。可以使用chattr +a設定追權重限。