自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何借助chattr命令讓重要文件免遭刪除

譯文
安全 網(wǎng)站安全
市面上有許許多多的工具和方法,可以保護你的文件和文件夾,以免被不小心刪除。chattr命令就是其中之一。這個命令行實用工具可以更改ext2/ext3/ext4文件系統(tǒng)上的文件屬性。它可以防止你的重要文件被不小心刪除。

市面上有許許多多的工具和方法,可以保護你的文件和文件夾,以免被不小心刪除。chattr命令就是其中之一。這個命令行實用工具可以更改ext2/ext3/ext4文件系統(tǒng)上的文件屬性。它可以防止你的重要文件被不小心刪除。即便你對文件擁有全面的權(quán)限,但如果這些文件由chattr加以保護,你還是無法刪除它們。

[[84044]]

語法

# chattr [運算符] [參數(shù)選項符] [文件名]

運算符

+ 將所選擇的屬性添加到文件的現(xiàn)有屬性中;
- 刪除所選擇的屬性;
= 讓所選擇的屬性成為文件擁有的唯一屬性。

參數(shù)選項符

R--遞歸更改文件夾及其內(nèi)容的屬性。
a--擁有"a"屬性的文件只能在追加模式下打開,以便進行寫操作。
只有超級用戶或擁有CAP_LINUX_IMMUTABLE功能的進程才能設(shè)置或清除這個屬性。
i--擁有"i"屬性的文件無法被修改:該文件無法被刪除或更名,無法為該文件創(chuàng)建鏈接,
也無法將數(shù)據(jù)寫入到該文件。只有超級用戶或擁有CAP_LINUX_IMMUTABLE功能的進程才
能設(shè)置或清除這個屬性。

參數(shù)選項符"a"和"i"之間的區(qū)別在于,擁有"a"屬性的文件可以追加內(nèi)容,而擁有"i"屬性的文件無法追加內(nèi)容。你可以使用lsattr命令,查看文件的屬性。#p#

用法

我們不妨在/home/sk目錄下創(chuàng)建名為unixmen1和unixmen2的樣本文件:

sk@sk:~$ touch unixmen1 unixmen2

示例1:帶"i"參數(shù)選項符的chattr

sk@sk:~$ sudo chattr +i unixmen1

查看文件unixmen1的屬性:

sk@sk:~$ sudo lsattr unixmen1
----i--------e-- unixmen1

好了,現(xiàn)在已為unixmen1文件設(shè)置了屬性。接下來憑借根用戶權(quán)限,試圖刪除該文件。

sk@sk:~$ sudo rm -f unixmen1
rm: cannot remove 'unixmen1': Operation not permitted

你看到,就算你擁有根用戶權(quán)限,也無法刪除該文件。

試著將一些內(nèi)容追加到unixmen1文件:

sk@sk:~$ cat >> unixmen1
bash: unixmen1: Permission denied
sk@sk:~$ sudo cat >> unixmen1
bash: unixmen1: Permission denied

當(dāng)文件由chattr保護時,無論你是超級用戶,還是普通用戶,都無法追加任何內(nèi)容。

刪除文件屬性:

sk@sk:~$ sudo chattr -i unixmen1

現(xiàn)在將一些內(nèi)容添加到unixmen1文件:

sk@sk:~$ cat >> unixmen1
Welcome to Unixmen Network

按CTRL+D組合鍵,保存并退出該文件。

現(xiàn)在,你可以沒有任何限制地追加內(nèi)容了。使用下面這個命令,顯示該文件的內(nèi)容:

sk@sk:~$ cat unixmen1
Welcome to Unixmen Network

另外,現(xiàn)在你還可以刪除該文件。無論你是超級用戶還是普通用戶,那都沒有關(guān)系:

sk@sk:~$ rm -f unixmen1

或者:

sk@sk:~$ rm unixmen1

請注意:我在上面一個示例中沒有使用sudo。#p#

示例2:帶"a"參數(shù)選項符的chattr

正如我在前面提到的那樣,參數(shù)選項符"a"和"i"之間的區(qū)別主要在于,你可以為帶"a"參數(shù)選項符的文件追加內(nèi)容,卻無法為用"i"參數(shù)選項符創(chuàng)建的文件追加任何內(nèi)容:

sk@sk:~$ sudo chattr +a unixmen2

將一些內(nèi)容追加到unixmen2文件:

sk@sk:~$ cat >> unixmen2
Hello welcome to unixmen network

按CTRL+D組合鍵,保存并退出該文件?,F(xiàn)在你可以追加內(nèi)容了,但無法刪除該文件:

sk@sk:~$ rm -f unixmen2
rm: cannot remove 'unixmen2': Operation not permitted
sk@sk:~$ sudo rm -f unixmen2
rm: cannot remove 'unixmen2': Operation not permitted

使用下面這個命令,清除屬性:

sk@sk:~$ sudo chattr -a unixmen2

現(xiàn)在,試著刪除該文件:

sk@sk:~$ rm unixmen2

文件將不受任何限制地被刪除。#p#

示例3:帶"R"參數(shù)選項符的chattr

假設(shè)我有一個名為unixmen的目錄。該文件夾里面含有名為file1、file2和file3的幾個文件:

sk@sk:~$ mkdir unixmen
sk@sk:~$ cd unixmen/
sk@sk:~/unixmen$ touch file1 file2 file3
sk@sk:~/unixmen$ cd ..
sk@sk:~$ ls unixmen/
file1  file2  file3

帶"i"參數(shù)選項符,為unixmen文件夾及其內(nèi)容設(shè)置屬性:

sk@sk:~$ sudo chattr -R +i unixmen/

這里,"R"參數(shù)選項符用來遞歸更改目錄unixmen及其內(nèi)容的屬性。

試著刪除文件夾unixmen或者其內(nèi)容:

sk@sk:~$ rm -fr unixmen/
rm: cannot remove 'unixmen/file1': Permission denied
rm: cannot remove 'unixmen/file2': Permission denied
rm: cannot remove 'unixmen/file3': Permission denied
sk@sk:~$ sudo rm -fr unixmen/
rm: cannot remove 'unixmen/file1': Permission denied
rm: cannot remove 'unixmen/file2': Permission denied
rm: cannot remove 'unixmen/file3': Permission denied

你看到,無論你是根用戶還是普通用戶,都無法刪除文件夾或其內(nèi)容。如果你使用"i"參數(shù)選項符,也無法將任何內(nèi)容追加到unixmen文件夾里面的文件:

sk@sk:~$ cat >> unixmen/file1
bash: unixmen/file1: Permission denied

想刪除unixmen文件夾及其內(nèi)容的屬性,只要執(zhí)行下面這個命令:

sk@sk:~$ sudo chattr -R -i unixmen/

現(xiàn)在你可以更改、刪除或修改該文件夾及其內(nèi)容了。

正如我們在示例2中看到的那樣,只有當(dāng)你用"a"參數(shù)選項符設(shè)置了文件夾屬性后,才能將內(nèi)容追加到文件:

sk@sk:~$ sudo chattr -R +a unixmen/

將內(nèi)容追加到文件:

sk@sk:~$ cat >> unixmen/file1
Hello Welcome

按CTRL+D組合鍵,保存并退出該文件。

顯示file1的內(nèi)容:

sk@sk:~$ cat unixmen/file1
Hello Welcome

不過,你無法刪除文件夾或文件:

sk@sk:~$ rm -fr unixmen/
rm: cannot remove 'unixmen/file1': Operation not permitted
rm: cannot remove 'unixmen/file2': Operation not permitted
rm: cannot remove 'unixmen/file3': Operation not permitted
sk@sk:~$ sudo rm -fr unixmen/
rm: cannot remove 'unixmen/file1': Operation not permitted
rm: cannot remove 'unixmen/file2': Operation not permitted
rm: cannot remove 'unixmen/file3': Operation not permitted

#p#

示例4:防止用戶更改密碼

該示例還將幫助你防止用戶更改密碼。眾所周知,/etc/shadow文件為用戶帳戶存儲著采用加密格式的實際密碼,同時存儲著與用戶密碼有關(guān)的額外屬性。它存儲著安全用戶帳戶信息。所以,我們不妨對該文件進行寫保護,以防密碼被人更改:

sk@sk:~$ sudo chattr +i /etc/shadow

現(xiàn)在,更改當(dāng)前用戶密碼(比如sk):

sk@sk:~$ sudo passwd sk
Enter new UNIX password:
Retype new UNIX password:
passwd: Authentication token manipulation error
passwd: password unchanged

現(xiàn)在退出系統(tǒng),以用戶"sk"的身份再次登錄。不過,你無法用新密碼登錄進去,仍需要用原來那個密碼才能登錄。

使用下面這個命令,查看/etc/shadow文件的屬性:

sk@sk:~$ sudo lsattr /etc/shadow
----i--------e-- /etc/shadow

想恢復(fù)原有屬性,只要鍵入下面這個命令:

sk@sk:~$ sudo chattr -i /etc/shadow

我希望,你會喜歡上這個命令,并使用該命令保護文件,防止被不小心刪除。想了解關(guān)于chattr命令的更多信息,請參閱參考手冊頁。

 

sk@sk:~$ man chattr

 

 

原文地址: http://www.unixmen.com/secure-and-prevent-files-from-accidental-deletion-with-chattr/

 

 

責(zé)任編輯:藍雨淚 來源: 51CTO.com
相關(guān)推薦

2016-10-09 20:00:49

操作系統(tǒng)windows

2011-06-01 10:48:28

Android系統(tǒng)

2022-05-09 14:44:50

修復(fù)工具包office

2021-04-14 16:06:42

Linuxchattr命令

2017-03-01 13:36:14

Linuxchattr命令chgrp命令

2017-03-06 16:15:17

Linux文件作用與區(qū)別

2015-08-13 09:09:10

LinuxdupeGuru

2021-06-02 16:31:16

微軟Windows 10Windows

2018-10-30 16:10:41

Linux救援模式命令

2014-07-25 16:13:30

Linuxchattrlsattr

2016-12-05 16:15:17

2021-03-16 21:30:27

Windows 10Windows操作系統(tǒng)

2019-08-28 15:43:03

sed命令Linux

2013-10-10 13:45:49

2010-06-24 16:18:49

Linux Chatt

2009-08-25 14:40:24

2016-03-21 10:16:06

RedisSpark大數(shù)據(jù)處理

2021-11-30 14:41:25

網(wǎng)絡(luò)攻擊醫(yī)療機構(gòu)網(wǎng)絡(luò)安全

2024-03-29 15:41:16

2010-06-24 16:22:26

Linux chatt
點贊
收藏

51CTO技術(shù)棧公眾號