Linux文本撤销修改,5个'chattr'命令使重要文件在Linux中不可更改(不可更改)
chattr命令 (更改屬性)是一個命令行Linux工具,用于設置/取消某些屬性在Linux系統中的文件,以確保意外刪除或重要的文件和文件夾的修改,即使你登錄為root用戶。
在Linux本機文件系統,即ext2,ext3,ext4,btrfs等支持所有的標志,雖然所有的標志將不支持所有非本地FS。即使屬性具有chattr命令的集合,也不能刪除或修改文件/文件夾,即使一個屬性具有完全權限。
5 chattr命令示例
這對于在系統文件中設置屬性非常有用,如passwd和shadow文件,其中用戶的信息包含。
語法chattr
# chattr [operator] [flags] [filename]
屬性和標志
以下是可以使用chattr命令設置/取消設置的公共屬性和相關標志的列表。
如果一個文件與'A'屬性集訪問,它的atime記錄不會被更新。
如果一個文件與'S'屬性設置修改,變化是同步在磁盤上的更新。
一個文件被設置以 ''屬性,只能在附加模式寫作開放。
一個文件設定' 我 '的屬性,不能被修改的(immutable)。意味著沒有重命名,沒有符號鏈接創建,沒有執行,沒有可寫,只有超級用戶可以取消設置屬性。
用'J'屬性的文件,則所有其信息更新到Ext3日記被更新到文件本身之前。
一個文件被設置與“T”屬性,沒有尾部合并。
與屬性'D',A檔時將轉儲進程運行備份沒有更多的候選人。
當一個文件有“U”屬性被刪除,其數據將被保存。這使得用戶能夠請求其取消刪除。
操作員
+:添加屬性文件的現有屬性。
- :刪除屬性的文件的現有屬性。
=:保持現有屬性的文件有。
在這里,我們將演示一些chattr命令示例來設置/取消設置文件和文件夾的屬性。
1.如何添加文件上的屬性以防止刪除
出于演示的目的,我們分別使用的演示文件夾和文件important_file.conf。 在設置的屬性,一定要驗證現有的文件有任何屬性中使用“設置的ls -l ”命令。您看到結果,當前沒有設置屬性。
[root@howtoing howtoing]# ls -l
total 0
drwxr-xr-x. 2 root root 6 Aug 31 18:02 demo
-rwxrwxrwx. 1 root root 0 Aug 31 17:42 important_file.conf
要設置屬性,我們使用的+號,并取消設置使用-標志的chattr命令的命令。 所以,讓我們設置不變的位與+ I標志的文件,以防止任何人刪除文件,甚至是root用戶沒有權限刪除它。
[root@howtoing howtoing]# chattr +i demo/
[root@howtoing howtoing]# chattr +i important_file.conf
注 :+我只能由超級用戶(即root用戶)或用戶使用sudo權限設置的不可改變位可以能夠設置。
設置不可改變位之后,讓我們來驗證屬性與命令'lsattr來 “。
[root@howtoing howtoing]# lsattr
----i----------- ./demo
----i----------- ./important_file.conf
現在,試圖強行刪除,重命名或更改的權限,但將不允許說“ 不允許操作 。”
[root@howtoing howtoing]# rm -rf demo/
rm: cannot remove ademo/a: Operation not permitted
[root@howtoing howtoing]# mv demo/ demo_alter
mv: cannot move ademo/a to ademo_altera: Operation not permitted
[root@howtoing howtoing]# chmod 755 important_file.conf
chmod: changing permissions of aimportant_file.confa: Operation not permitted
2.如何取消設置文件上的屬性
在上面的例子中,我們已經看到了如何在這個例子中設置屬性,從意外刪除保護,防止文件,在這里,我們將看到如何重置(未設置屬性)的權限,并允許做一個多變的文件或使用可變-我的標志。
[root@howtoing howtoing]# chattr -i demo/ important_file.conf
重置權限后,使用驗證“lsattr來 ”命令文件的不可變的狀態。
[root@howtoing howtoing]# lsattr
---------------- ./demo
---------------- ./important_file.conf
你在上面的結果看到,“-i”標志去掉,這意味著你可以安全地刪除所有文件和文件夾位于howtoing文件夾中。
[root@howtoing howtoing]# rm -rf *
[root@howtoing howtoing]# ls -l
total 0
3.如何保護/ etc / passwd和/ etc / shadow文件
在文件/ etc / passwd文件或/ etc / shadow的設置不變的屬性,使他們從意外刪除保護或篡改,也將禁用用戶帳戶的創建。
[root@howtoing howtoing]# chattr +i /etc/passwd
[root@howtoing howtoing]# chattr +i /etc/shadow
現在嘗試創建一個新的系統用戶,你會得到錯誤信息說“無法打開/ etc / passwd文件 ”。
[root@howtoing howtoing]# useradd howtoing
useradd: cannot open /etc/passwd
這樣,您可以對重要文件或系統配置文件設置不可變的權限,以防止刪除。
4.附加數據,而不修改文件上的現有數據
假設你只希望讓大家只是在附加文件中的數據不會更改或修改已經輸入的數據,你可以用' 一 '屬性如下。
[root@howtoing howtoing]# chattr +a example.txt
[root@howtoing howtoing]# lsattr example.txt
-----a---------- example.txt
設置附加模式后,可以打開文件以僅以附加模式寫入數據。您可以如下所示取消設置append屬性。
[root@howtoing howtoing]# chattr -a example.txt
現在,試圖取代現有的文件內容example.txt的 ,你會得到錯誤提示“ 不允許操作 ”。
[root@howtoing howtoing]# echo "replace contain on file." > example.txt
-bash: example.txt: Operation not permitted
現在嘗試追加對現有文件example.txt中新的內容和驗證。
[root@howtoing howtoing]# echo "replace contain on file." >> example.txt
[root@howtoing howtoing]# cat example.txt
Here is the example to test 'a' attribute mean append only.
replace contain on file.
5.如何保護目錄
為了確保整個目錄及其文件,我們使用“-R”(遞歸)開關,“+ i”標記的文件夾的完整路徑。
[root@howtoing howtoing]# chattr -R +i myfolder
設置遞歸屬性后,嘗試刪除文件夾及其文件。
[root@howtoing howtoing]# rm -rf myfolder/
rm: cannot remove 'myfolder/': Operation not permitted
要取消設置權限,我們使用相同的'-R'(遞歸)開關與'-i'標志以及文件夾的完整路徑。
[root@howtoing howtoing]# chattr -R -i myfolder
而已!要了解有關chattr命令屬性的更多信息,標志和選項使用手冊頁。
總結
以上是生活随笔為你收集整理的Linux文本撤销修改,5个'chattr'命令使重要文件在Linux中不可更改(不可更改)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux7怎么安装yum,centos
- 下一篇: linux 后台计算,科学网-如何在Li