Awọn pipaṣẹ chattr 5 lati Ṣe Awọn faili pataki IMMUTABLE (Ayipada) ni Lainos


chattr (Iyipada Ayipada) jẹ laini aṣẹ laini iwulo Linux ti o lo lati ṣeto/ṣiṣeto awọn abuda kan si faili kan ninu eto Linux lati ni aabo piparẹ lairotẹlẹ tabi iyipada awọn faili pataki ati awọn folda, botilẹjẹpe o ti ibuwolu wọle ni bi gbongbo olumulo.

Ninu awọn faili faili abinibi Linux bii ext2, ext3, ext4, btrfs, ati bẹbẹ lọ ṣe atilẹyin gbogbo awọn asia, botilẹjẹpe gbogbo awọn asia kii yoo ṣe atilẹyin si gbogbo FS ti kii ṣe abinibi. Ẹnikan ko le paarẹ tabi yipada faili/folda lẹẹkan awọn abuda jẹ awọn ipilẹ pẹlu aṣẹ chattr, botilẹjẹpe ẹnikan ni awọn igbanilaaye kikun lori rẹ.

Eyi wulo pupọ lati ṣeto awọn abuda ninu awọn faili eto bii passwd ati awọn faili ojiji ninu eyiti alaye olumulo wa.

# chattr [operator] [flags] [filename]

Atẹle ni atokọ ti awọn abuda ti o wọpọ ati awọn asia ti o jọmọ le ṣeto/ṣatunṣe nipa lilo pipaṣẹ chattr.

  1. Ti o ba ti wọle si faili kan pẹlu 'A' ti ṣeto ẹda, ko ṣe igbasilẹ igbasilẹ akoko rẹ.
  2. Ti o ba yipada faili kan pẹlu ṣeto ‘S’ ẹda abuda, awọn ayipada jẹ awọn imudojuiwọn ni iṣisẹpọ lori disiki naa.
  3. Ṣeto faili kan pẹlu ‘ẹya kan, o le ṣii nikan ni ipo apẹrẹ fun kikọ.
  4. A ti ṣeto faili kan pẹlu ‘i‘ ro pe, ko le yipada (aiyipada). Tumo si ko si lorukọmii, ko si ẹda ọna asopọ aami, ko si ipaniyan, ko si akọọlẹ, nikan ni superuser le ṣatunṣe ẹda naa.
  5. Faili kan ti o ni ẹda ‘j’ ti ṣeto, gbogbo alaye rẹ ti ni imudojuiwọn si iwe-akọọlẹ ext3 ṣaaju ki o to ni imudojuiwọn si faili funrararẹ.
  6. Ṣeto faili kan pẹlu ‘t’ ẹda, ko si dapọ iru.
  7. Faili kan pẹlu ẹda ‘d‘, kii yoo ṣe oludije diẹ sii fun afẹyinti nigbati ilana ida silẹ ba ṣiṣẹ.
  8. Nigba ti faili kan ni o ni 'u' ro pe o ti parẹ, o ti fipamọ data rẹ. Eyi n jẹ ki olumulo lo beere fun piparẹ rẹ.

  1. + : Ṣafikun abuda si iwa ti o wa tẹlẹ ti awọn faili naa.
  2. - : Yọ abuda si animọ ti o wa tẹlẹ ti awọn faili naa.
  3. = : Tọju awọn abuda ti o wa tẹlẹ ti awọn faili ni.

Nibi, a yoo ṣe afihan diẹ ninu awọn apẹẹrẹ aṣẹ chattr lati ṣeto/ṣiṣafihan awọn abuda si faili kan ati awọn folda.

1. Bii o ṣe le ṣafikun awọn abuda lori awọn faili lati ni aabo lati piparẹ

Fun idi ifihan, a ti lo folda demo ati faili important_file.conf lẹsẹsẹ. Ṣaaju ki o to ṣeto awọn abuda, rii daju lati ṣayẹwo pe awọn faili ti o wa tẹlẹ ni eyikeyi awọn eroja ti a ṣeto nipa lilo pipaṣẹ 'ls -l'. Njẹ o ri awọn abajade, lọwọlọwọ ko si ẹda ti ṣeto.

 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

Lati ṣeto abuda, a lo ami + ati lati ṣeto lilo ami - pẹlu aṣẹ chattr. Nitorinaa, jẹ ki a ṣeto bit ti ko ni iyipada lori awọn faili pẹlu awọn asia + i lati ṣe idiwọ ẹnikẹni lati paarẹ faili kan, paapaa olumulo ti o ni gbongbo ko ni igbanilaaye lati paarẹ.

 chattr +i demo/
 chattr +i important_file.conf

Akiyesi: Oṣuwọn ti ko le yipada + i le ṣee ṣeto nipasẹ superuser (ie root) olumulo tabi olumulo kan pẹlu awọn anfani sudo le ni anfani lati ṣeto.

Lẹhin ti o ṣeto bit ti ko ni iyipada, jẹ ki a ṣayẹwo ijẹẹmu pẹlu aṣẹ 'lsattr'.

 lsattr
----i----------- ./demo
----i----------- ./important_file.conf

Bayi, gbiyanju lati paarẹ ni agbara, fun lorukọ mii tabi yi awọn igbanilaaye pada, ṣugbọn kii yoo gba laaye sọ pe “Isẹ ko gba laaye“.

 rm -rf demo/
rm: cannot remove âdemo/â: Operation not permitted
 mv demo/ demo_alter
mv: cannot move âdemo/â to âdemo_alterâ: Operation not permitted
 chmod 755 important_file.conf
chmod: changing permissions of âimportant_file.confâ: Operation not permitted

2. Bii o ṣe le ṣatunṣe ẹda lori Awọn faili

Ninu apẹẹrẹ ti o wa loke, a ti rii bii a ṣe le ṣeto abuda lati ni aabo ati ṣe idiwọ awọn faili lati piparẹ lairotẹlẹ, nibi ni apẹẹrẹ yii, a yoo wo bi a ṣe le tun awọn igbanilaaye (ẹya ti ko ṣeto) ṣe ati gba laaye lati ṣe awọn faili iyipada tabi iyipada ni lilo - i Flag.

 chattr -i demo/ important_file.conf

Lẹhin ti tunto awọn igbanilaaye, ṣayẹwo ipo aiyipada ti awọn faili nipa lilo pipaṣẹ 'lsattr'.

 lsattr
---------------- ./demo
---------------- ./important_file.conf

O ri ninu awọn abajade ti o wa loke pe a yọ asia '-i' kuro, iyẹn tumọ si pe o le yọ gbogbo faili kuro lailewu ati folda ti o wa ni folda tecmint.

 rm -rf *

 ls -l
total 0

3. Bii o ṣe le ni aabo/ati be be lo/passwd ati/ati be be lo/awọn faili ojiji

Ṣiṣeto ẹda ti ko le yipada lori awọn faili /etc/passwd tabi /ati be be lo/ojiji , jẹ ki wọn ni aabo kuro ni yiyọkuro lairotẹlẹ kan tabi fipa kan ati pe yoo tun mu ṣiṣẹda iroyin akọọlẹ olumulo.

 chattr +i /etc/passwd
 chattr +i /etc/shadow

Bayi gbiyanju lati ṣẹda olumulo eto tuntun, iwọ yoo gba ifiranṣẹ aṣiṣe ni sisọ 'ko le ṣii/ati be be lo/passwd'.

 useradd tecmint
useradd: cannot open /etc/passwd

Ni ọna yii o le ṣeto awọn igbanilaaye ailopin lori awọn faili pataki rẹ tabi awọn faili iṣeto eto lati ṣe idiwọ piparẹ.

4. Fi data kun laisi Ṣiṣatunṣe data to wa lori Faili kan

Ṣebi, iwọ nikan fẹ lati gba gbogbo eniyan laaye lati kan append data lori faili kan laisi iyipada tabi yiyipada data ti o ti tẹ sii tẹlẹ, o le lo ‘a’ animọ bi atẹle.

 chattr +a example.txt

 lsattr example.txt
-----a---------- example.txt

Lẹhin ti o ṣeto ipo apẹrẹ, faili naa le ṣii fun data kikọ ni ipo apẹrẹ nikan. O le ṣatunṣe ẹda append bi atẹle.

 chattr -a example.txt

Bayi gbiyanju lati ropo akoonu ti o wa tẹlẹ lori apẹẹrẹ file.txt, iwọ yoo gba aṣiṣe ni sisọ 'Iṣẹ ko gba laaye'.

 echo "replace contain on file." > example.txt
-bash: example.txt: Operation not permitted

Bayi gbiyanju lati fi kun akoonu tuntun lori apẹẹrẹ faili ti o wa tẹlẹ.txt ki o ṣayẹwo rẹ.

 echo "replace contain on file." >> example.txt
 cat example.txt
Here is the example to test 'a' attribute mean append only.
replace contain on file.

5. Bii o ṣe le ni aabo Awọn ilana

Lati ni aabo gbogbo itọsọna ati awọn faili rẹ, a lo '-R' (recursively) yipada pẹlu asia '+ i' pẹlu ọna kikun ti folda naa.

 chattr -R +i myfolder

Lẹhin ti o ṣeto abuda recursively, gbiyanju lati paarẹ folda naa ati awọn faili rẹ.

 rm -rf myfolder/
rm: cannot remove 'myfolder/': Operation not permitted

Lati ṣatunṣe igbanilaaye, a lo ‘-R’ kanna (recursively) yipada pẹlu asia ‘-i’ pẹlu ọna kikun ti folda naa.

 chattr -R -i myfolder

O n niyen! Lati mọ diẹ sii nipa awọn abuda pipaṣẹ chattr, awọn asia ati awọn aṣayan lo awọn oju-iwe eniyan naa.