The chattr
(pakeisti atributą) komanda „Linux“ yra galingas įrankis, skirtas keisti failų atributus ext2, ext3 arba ext4 failų sistemoje. Tai leidžia vartotojams nustatyti tam tikrus atributus, kurie valdo, kaip galima pasiekti ir keisti failus. Pavyzdžiui, +i
Parinktis padaro failą nekeičiamą, o tai reiškia, kad jo negali pakeisti, ištrinti ar pervardyti net pagrindinis vartotojas, kol nepašalinamas nekeičiamas atributas. Kiti atributai apima +a
kuri leidžia failą atidaryti tik pridėjimo režimu, ir +c
kuris pažymi failą glaudinimui. Ši komanda ypač naudinga sistemos administratoriams, kuriems reikia griežtai kontroliuoti prieigos kontrolę ir apsaugoti svarbius sistemos failus nuo atsitiktinių ar kenkėjiškų pakeitimų. Tačiau jį reikia naudoti atsargiai, nes netinkamas naudojimas gali netyčia apriboti prieigą prie failų.
Būtinos sąlygos
- Serveris, kuriame veikia Linux operacinė sistema.
- Serveryje sukonfigūruotas root slaptažodis.
Pagrindinė sintaksė
Pagrindinė sintaksė chattr
komanda yra:
chattr (OPTIONS) (OPERATOR)(ATTRIBUTES) FILE
Parinkčių paaiškinimas
-
+
: Prideda prie failo konkrečių atributų. -
-
: pašalina konkrečius atributus iš failo. -
=
: nustato nurodytus atributus kaip vienintelius atributus. -
a
: Failą galima atidaryti tik pridėjimo režimu, kad būtų galima rašyti. -
A
:atime
įrašas neatnaujintas. -
c
: automatiškai suglaudina failą. -
i
: apsaugo failą nuo atsitiktinio ištrynimo. -
S
: Failų pakeitimai diske įrašomi sinchroniškai.
Failų apsauga nuo atsitiktinio ištrynimo
Svarbių failų apsauga yra labai svarbi bet kuriam sistemos administratoriui. The chattr
komanda gali apsaugoti failą, kad joks vartotojas negalėtų jo ištrinti, pervardyti ar modifikuoti.
-
Sukurkite katalogą ir failą:
mkdir dir1 touch file1
-
Spausdinkite abiejų atributus
file1
irdir1
:ls -l
Išvestis:
drwxr-xr-x 2 root root 4096 May 3 11:56 dir1 -rw-r--r-- 1 root root 0 May 3 11:56 file1
-
Nustatykite
+i
vėliavėlė ant abiejųdir1
irfile1
:chattr +i dir1 chattr +i file1
-
Patikrinkite atributą:
ls -l
Išvestis:
drwxr-xr-x 2 root root 4096 May 3 11:56 dir1 -rw-r--r-- 1 root root 0 May 3 11:56 file1
-
Pabandykite ištrinti failą ir katalogą:
rm -rf file1 dir1
Išvestis:
rm: cannot remove ‘file1’: Operation not permitted rm: cannot remove ‘dir1’: Operation not permitted
-
Pabandykite pervardyti failą:
mv file1 file2
Išvestis:
mv: cannot move ‘file1’ to ‘file2’: Operation not permitted
-
Pabandykite pakeisti failo leidimą:
chmod 777 file1
Išvestis:
chmod: changing permissions of ‘file1’: Operation not permitted
Failų atributų nustatymas iš naujo
Norėdami leisti keisti ir ištrinti failą, iš naujo nustatykite ankstesniame veiksme nustatytus failo atributus:
chattr -i file1 dir1
Dabar galite patikrinti failo ir katalogo būseną:
lsattr
Išvestis:
-------------e-- ./dir1
-------------e-- ./file1
Leidžiama pridėti duomenis nekeičiant esamų duomenų
Jei norite leisti vartotojams tik pridėti duomenis nekeičiant esamų duomenų, naudokite +a
vėliavėlė faile.
-
Sukurkite naują failą su turiniu:
echo "Hi How Are You" > newfile.txt
-
Nustatykite
+a
atributas faile:chattr +a newfile.txt
-
Pabandykite pakeisti esamą turinį:
echo "I am replacing" > newfile.txt
Klaida:
bash: newfile.txt: Operation not permitted
-
Pridėti naują turinį prie esamo failo:
echo "This is new content" >> newfile.txt
-
Patikrinkite failo turinį:
cat newfile.txt
Išvestis:
Hi How Are You This is new content
Katalogų apsauga rekursyviai
Naudokite -R
vėliava su +i
norėdami rekursyviai apsaugoti katalogą ir jo pakatalogius.
-
Sukurkite katalogus ir pakatalogius:
mkdir -p test/dir1/dir2 mkdir -p test/dir3/dir4 mkdir -p test/dir5/dir6
-
Apsaugokite
test
katalogas ir visi pakatalogiai:chattr -R +i test
-
Pabandykite ištrinti
test
katalogas su visais pakatalogiais:rm -rf test/
Klaida:
rm: cannot remove ‘test/dir1/dir2’: Permission denied rm: cannot remove ‘test/dir5/dir6’: Permission denied rm: cannot remove ‘test/dir3/dir4’: Permission denied
-
Iš naujo nustatykite atributą iš
test
katalogas:chattr -R -i test
-
Dabar galite ištrinti
test
katalogas su visais pakatalogiais.
Išvada
Šiame vadove sužinojote, kaip apsaugoti failus ir katalogus naudojant chattr
komandą. Ši komanda yra būtina norint apsaugoti svarbius konfigūracijos failus ir užtikrinti griežtą prieigos kontrolę Linux aplinkoje. The chattr
komanda gali padaryti failus nekeičiamus, tik pridėtinius ir dar daugiau, todėl tai yra svarbus įrankis sistemos administratoriams.
The lsattr
komanda taip pat yra vertingas failų ir katalogų atributų peržiūros draugas. Veiksmingas šių komandų supratimas ir naudojimas padės apsaugoti „Linux“ sistemas nuo atsitiktinių ar neleistinų pakeitimų.
Jei tekste radote klaidą, siųskite pranešimą autoriui pažymėdami klaidą ir paspausdami Ctrl-Enter.
Norėdami komentuoti, turite būti prisijungę.