5 tērzēšanas komandas, lai padarītu svarīgus failus nemaināmus (nemaināmus) Linux
chattr (Mainīt atribūtu) ir komandrindas Linux lietderība, ko izmanto, lai iestatītu/atiestatītu noteiktus faila atribūtus Linux sistēmā, lai nodrošinātu nejaušu svarīgu failu un mapju dzēšanu vai modificēšanu, pat ja esat reģistrējies. iekšā kā root lietotājs.
Linux vietējās failu sistēmās, t.i., ext2, ext3, ext4, btrfs utt. Atbalsta visus karodziņus, lai gan visi karodziņi neatbalstīs visus vietējos FS. Nevar izdzēst vai modificēt failu/mapi, ja atribūti ir iestatīti ar komandu chattr, kaut arī tam ir pilnas atļaujas.
Tas ir ļoti noderīgi, lai iestatītu atribūtus sistēmas failos, piemēram, paroles un ēnu failos, kuros ir lietotāja informācija.
# chattr [operator] [flags] [filename]
Tālāk ir saraksts ar kopējiem atribūtiem, un saistītos karodziņus var iestatīt/atiestatīt, izmantojot komandu chattr.
- Ja failam piekļūst ar atribūtu kopu “A”, tā laika ieraksts netiek atjaunināts.
- Ja fails tiek modificēts ar atribūtu kopu “S”, izmaiņas tiek sinhroni atjauninātas diskā.
- Failam ir iestatīts atribūts ‘a’, to var atvērt tikai pievienošanas režīmā rakstīšanai.
- Failam ir iestatīts atribūts ‘i’, to nevar mainīt (nemaināms). Nozīmē, ka at pārdēvēšanu, simbolisku saišu izveidi, izpildi, rakstāmu atribūtu nevar atiestatīt tikai virslietotājs.
- Ir iestatīts fails ar atribūtu ‘j’, visa tā informācija tiek atjaunināta ext3 žurnālā, pirms tiek atjaunināta pašā failā.
- Failam ir iestatīts atribūts ‘t’, bez astes sapludināšanas.
- Fails ar atribūtu ‘d’ vairs nebūs kandidāts dublēšanai, kad tiek palaists dump process.
- Kad failam ir atribūts “u”, tā dati tiek saglabāti. Tas ļauj lietotājam lūgt tā dzēšanu.
- + : pievieno atribūtu esošo failu atribūtam.
- - : noņem atribūtu esošajam failu atribūtam.
- = : saglabājiet failos esošos atribūtus.
Šeit mēs parādīsim dažus chattr komandu piemērus, lai failam un mapēm iestatītu/atiestatītu atribūtus.
1. Kā failiem pievienot atribūtus, lai pasargātu tos no dzēšanas
Demonstrācijas nolūkos esam izmantojuši attiecīgi mapi demonstrācija un failu svarīgs_fails.conf . Pirms atribūtu iestatīšanas pārliecinieties, vai esošajos failos ir iestatīti atribūti, izmantojot komandu ‘ls -l’. Vai redzējāt rezultātus, pašlaik neviens atribūts nav iestatīts.
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
Lai iestatītu atribūtu, mēs izmantojam zīmi + un, lai atiestatītu, izmantojiet zīmi - ar komandu chattr. Tātad, iestatīsim nemaināmus failus failiem ar karodziņiem + i , lai neļautu nevienam izdzēst failu, pat root lietotājam nav atļaujas to izdzēst.
chattr +i demo/ chattr +i important_file.conf
Piezīme: Nemaināmo bitu + i var iestatīt tikai superlietotāja (t.i., root) lietotājs vai lietotājs, kuram ir sudo privilēģijas, var iestatīt.
Pēc nemaināmā bita iestatīšanas pārbaudīsim atribūtu ar komandu ‘lsattr’.
lsattr ----i----------- ./demo ----i----------- ./important_file.conf
Tagad mēģinājāt spēcīgi izdzēst, pārdēvēt vai mainīt atļaujas, taču tas neatļaus tekstu “Operācija nav atļauta”.
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. Kā atiestatīt atribūtu failos
Iepriekš minētajā piemērā mēs redzējām, kā iestatīt atribūtu, lai aizsargātu un novērstu failu nejaušu dzēšanu, šeit šajā piemērā mēs redzēsim, kā atiestatīt (atiestatīt atribūtu) atļaujas un ļauj padarīt failus maināmus vai maināmus, izmantojot - es karogu.
chattr -i demo/ important_file.conf
Pēc atļauju atiestatīšanas pārbaudiet failu nemaināmo statusu, izmantojot komandu ‘lsattr’.
lsattr ---------------- ./demo ---------------- ./important_file.conf
Iepriekš redzamajos rezultātos redzat, ka karogs ‘-i’ ir noņemts, tas nozīmē, ka varat droši noņemt visu failu un mapi, kas atrodas mapē tecmint.
rm -rf * ls -l total 0
3. Kā nodrošināt/etc/passwd un/etc/shadow failus
Iestatot nemaināmu atribūtu failiem /etc/passwd vai /etc/shadow , tie tiek pasargāti no nejaušas noņemšanas vai sagrozīšanas, kā arī tiks atspējota lietotāja konta izveide.
chattr +i /etc/passwd chattr +i /etc/shadow
Tagad mēģiniet izveidot jaunu sistēmas lietotāju, un tiks parādīts kļūdas ziņojums “Nevar atvērt/etc/passwd”.
useradd tecmint useradd: cannot open /etc/passwd
Tādā veidā jūs varat iestatīt nemaināmas atļaujas svarīgiem failiem vai sistēmas konfigurācijas failiem, lai novērstu dzēšanu.
4. Pievienojiet datus, nemainot failā esošos datus
Pieņemsim, ka vēlaties visiem atļaut tikai pievienot datus failam, nemainot vai nemodificējot jau ievadītos datus, atribūtu ‘a’ varat izmantot šādi.
chattr +a example.txt lsattr example.txt -----a---------- example.txt
Pēc pievienošanas režīma iestatīšanas failu var atvērt datu ierakstīšanai tikai pievienošanas režīmā. Atribūtu pievienot var atiestatīt šādi.
chattr -a example.txt
Tagad mēģiniet aizstāt jau esošu saturu failā example.txt, parādot kļūdu, sakot “Darbība nav atļauta”.
echo "replace contain on file." > example.txt -bash: example.txt: Operation not permitted
Tagad mēģiniet pievienot jaunu saturu esošam failam example.txt un pārbaudiet to.
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. Kā nodrošināt direktorijus
Lai aizsargātu visu direktoriju un tā failus, mēs izmantojam slēdzi ‘-R’ (rekursīvi) ar karogu ‘+ i’ un pilnu mapes ceļu.
chattr -R +i myfolder
Pēc rekursīva atribūta iestatīšanas mēģiniet izdzēst mapi un tās failus.
rm -rf myfolder/ rm: cannot remove 'myfolder/': Operation not permitted
Lai atiestatītu atļauju, mēs izmantojam to pašu ‘-R’ (rekursīvi) slēdzi ar ‘-i’ karodziņu kopā ar pilnu mapes ceļu.
chattr -R -i myfolder
Tieši tā! Lai uzzinātu vairāk par chattr komandu atribūtiem, karodziņiem un opcijām, izmantojiet manuālās lapas.