ലിനക്സിൽ പ്രധാനപ്പെട്ട ഫയലുകൾ മാറ്റാനാകാത്ത (മാറ്റമില്ലാത്തത്) ആക്കാനുള്ള 5 ചാറ്റർ കമാൻഡുകൾ
chattr (Change Attribute) നിങ്ങൾ ലോഗിൻ ചെയ്uതിരിക്കുകയാണെങ്കിലും, ആകസ്uമികമായി ഇല്ലാതാക്കുന്നതിനോ പ്രധാനപ്പെട്ട ഫയലുകളുടെയും ഫോൾഡറുകളുടെയും പരിഷ്uക്കരണമോ സുരക്ഷിതമാക്കുന്നതിന് Linux സിസ്റ്റത്തിലെ ഒരു ഫയലിലേക്ക് ചില ആട്രിബ്യൂട്ടുകൾ സജ്ജീകരിക്കാനോ അൺസെറ്റ് ചെയ്യാനോ ഉപയോഗിക്കുന്ന ഒരു കമാൻഡ് ലൈൻ Linux യൂട്ടിലിറ്റിയാണ്. ഒരു റൂട്ട് ഉപയോക്താവായി.
Linux നേറ്റീവ് ഫയൽ സിസ്റ്റങ്ങളിൽ അതായത് ext2, ext3, ext4, btrfs മുതലായവ എല്ലാ ഫ്ലാഗുകളേയും പിന്തുണയ്ക്കുന്നു, എന്നിരുന്നാലും എല്ലാ ഫ്ലാഗുകളും എല്ലാ നോൺ-നേറ്റീവ് FS-നേയും പിന്തുണയ്ക്കില്ല. ചാറ്റർ കമാൻഡ് ഉപയോഗിച്ച് ആട്രിബ്യൂട്ടുകൾ സജ്ജീകരിച്ചുകഴിഞ്ഞാൽ, ഒരാൾക്ക് ഫയൽ/ഫോൾഡർ ഇല്ലാതാക്കാനോ പരിഷ്uക്കരിക്കാനോ കഴിയില്ല, ഒരാൾക്ക് അതിൽ പൂർണ്ണ അനുമതികൾ ഉണ്ടെങ്കിലും.
ഉപയോക്താവിന്റെ വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്ന പാസ്uഡബ്ല്യുഡി, ഷാഡോ ഫയലുകൾ പോലുള്ള സിസ്റ്റം ഫയലുകളിൽ ആട്രിബ്യൂട്ടുകൾ സജ്ജീകരിക്കാൻ ഇത് വളരെ ഉപയോഗപ്രദമാണ്.
# chattr [operator] [flags] [filename]
പൊതുവായ ആട്രിബ്യൂട്ടുകളുടെ ലിസ്റ്റ് ചുവടെയുണ്ട്, ചാറ്റ് കമാൻഡ് ഉപയോഗിച്ച് അനുബന്ധ ഫ്ലാഗുകൾ സജ്ജീകരിക്കാം/അൺസെറ്റ് ചെയ്യാം.
- ‘A’ ആട്രിബ്യൂട്ട് സെറ്റ് ഉപയോഗിച്ച് ഒരു ഫയൽ ആക്uസസ് ചെയ്യുകയാണെങ്കിൽ, അതിന്റെ സമയ റെക്കോർഡ് അപ്uഡേറ്റ് ചെയ്യപ്പെടില്ല.
- ‘S’ ആട്രിബ്യൂട്ട് സെറ്റ് ഉപയോഗിച്ച് ഒരു ഫയൽ പരിഷ്uക്കരിച്ചിട്ടുണ്ടെങ്കിൽ, മാറ്റങ്ങൾ ഡിസ്കിൽ സിൻക്രണസ് ആയി അപ്uഡേറ്റ് ചെയ്യുന്നു.
- ഒരു ഫയൽ 'a' ആട്രിബ്യൂട്ട് ഉപയോഗിച്ച് സജ്ജീകരിച്ചിരിക്കുന്നു, എഴുതാൻ അനുബന്ധ മോഡിൽ മാത്രമേ തുറക്കാൻ കഴിയൂ.
- 'i' ആട്രിബ്യൂട്ട് ഉപയോഗിച്ച് ഒരു ഫയൽ സജ്ജീകരിച്ചിരിക്കുന്നു, അത് പരിഷ്uക്കരിക്കാനാവില്ല (മാറ്റമില്ലാത്തത്). പുനർനാമകരണം ഇല്ല, പ്രതീകാത്മക ലിങ്ക് സൃഷ്uടിക്കരുത്, നിർവ്വഹണമില്ല, എഴുതാനില്ല, സൂപ്പർ യൂസർക്ക് മാത്രമേ ആട്രിബ്യൂട്ട് അൺസെറ്റ് ചെയ്യാൻ കഴിയൂ.
- 'j' ആട്രിബ്യൂട്ട് ഉള്ള ഒരു ഫയൽ സജ്ജീകരിച്ചിരിക്കുന്നു, ഫയലിലേക്ക് തന്നെ അപ്uഡേറ്റ് ചെയ്യുന്നതിനുമുമ്പ് അതിന്റെ എല്ലാ വിവരങ്ങളും ext3 ജേണലിലേക്ക് അപ്uഡേറ്റ് ചെയ്uതു.
- 't' ആട്രിബ്യൂട്ട് ഉപയോഗിച്ച് ഒരു ഫയൽ സജ്ജീകരിച്ചിരിക്കുന്നു, ടെയിൽ ലയിപ്പിച്ചിട്ടില്ല.
- 'd' ആട്രിബ്യൂട്ട് ഉള്ള ഒരു ഫയൽ, ഡംപ് പ്രോസസ്സ് റൺ ചെയ്യുമ്പോൾ ബാക്കപ്പിനായി ഇനി കാൻഡിഡേറ്റ് ഉണ്ടാകില്ല.
- ഒരു ഫയലിൽ ‘u’ ആട്രിബ്യൂട്ട് ഇല്ലാതാക്കുമ്പോൾ, അതിന്റെ ഡാറ്റ സംരക്ഷിക്കപ്പെടും. ഇത് ഇല്ലാതാക്കാൻ ആവശ്യപ്പെടാൻ ഉപയോക്താവിനെ പ്രാപ്തനാക്കുന്നു.
- + : ഫയലുകളുടെ നിലവിലുള്ള ആട്രിബ്യൂട്ടിലേക്ക് ആട്രിബ്യൂട്ട് ചേർക്കുന്നു.
- – : ഫയലുകളുടെ നിലവിലുള്ള ആട്രിബ്യൂട്ടിലേക്കുള്ള ആട്രിബ്യൂട്ട് നീക്കം ചെയ്യുന്നു.
- = : ഫയലുകളിൽ നിലവിലുള്ള ആട്രിബ്യൂട്ടുകൾ സൂക്ഷിക്കുക.
ഇവിടെ, ഒരു ഫയലിലേക്കും ഫോൾഡറുകളിലേക്കും ആട്രിബ്യൂട്ടുകൾ സജ്ജമാക്കുന്ന/അൺസെറ്റ് ചെയ്യുന്നതിനുള്ള ചില chattr കമാൻഡ് ഉദാഹരണങ്ങൾ ഞങ്ങൾ പ്രദർശിപ്പിക്കാൻ പോകുന്നു.
1. ഇല്ലാതാക്കുന്നതിൽ നിന്ന് സുരക്ഷിതമാക്കാൻ ഫയലുകളിൽ ആട്രിബ്യൂട്ടുകൾ എങ്ങനെ ചേർക്കാം
പ്രദർശന ആവശ്യത്തിനായി, ഞങ്ങൾ യഥാക്രമം ഡെമോ എന്ന ഫോൾഡറും important_file.conf എന്ന ഫയലും ഉപയോഗിച്ചു. ആട്രിബ്യൂട്ടുകൾ സജ്ജീകരിക്കുന്നതിന് മുമ്പ്, നിലവിലുള്ള ഫയലുകൾക്ക് 'ls -l' കമാൻഡ് ഉപയോഗിച്ച് എന്തെങ്കിലും ആട്രിബ്യൂട്ടുകൾ സജ്ജീകരിച്ചിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക. നിങ്ങൾ ഫലങ്ങൾ കണ്ടോ, നിലവിൽ ആട്രിബ്യൂട്ടുകളൊന്നും സജ്ജീകരിച്ചിട്ടില്ല.
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
ആട്രിബ്യൂട്ട് സജ്ജീകരിക്കുന്നതിന്, ഞങ്ങൾ + ചിഹ്നം ഉപയോഗിക്കുന്നു, കൂടാതെ സജ്ജീകരിക്കാതിരിക്കാൻ ചാറ്റർ കമാൻഡ് ഉപയോഗിച്ച് – ചിഹ്നം ഉപയോഗിക്കുക. അതിനാൽ, ഒരു ഫയൽ ഇല്ലാതാക്കുന്നതിൽ നിന്ന് ആരെയും തടയുന്നതിന് +i ഫ്ലാഗുകളുള്ള ഫയലുകളിൽ മാറ്റമില്ലാത്ത ബിറ്റ് സജ്ജമാക്കാം, ഒരു റൂട്ട് ഉപയോക്താവിന് പോലും അത് ഇല്ലാതാക്കാൻ അനുമതിയില്ല.
chattr +i demo/ chattr +i important_file.conf
ശ്രദ്ധിക്കുക: മാറ്റാനാകാത്ത ബിറ്റ് +i എന്നത് സൂപ്പർ യൂസർ (അതായത് റൂട്ട്) ഉപയോക്താവിന് അല്ലെങ്കിൽ സുഡോ പ്രത്യേകാവകാശങ്ങളുള്ള ഒരു ഉപയോക്താവിന് മാത്രമേ സജ്ജീകരിക്കാൻ കഴിയൂ.
മാറ്റമില്ലാത്ത ബിറ്റ് സജ്ജീകരിച്ച ശേഷം, 'lsattr' കമാൻഡ് ഉപയോഗിച്ച് ആട്രിബ്യൂട്ട് പരിശോധിക്കാം.
lsattr ----i----------- ./demo ----i----------- ./important_file.conf
ഇപ്പോൾ, ബലപ്രയോഗത്തിലൂടെ ഇല്ലാതാക്കാനോ പേരുമാറ്റാനോ അനുമതികൾ മാറ്റാനോ ശ്രമിച്ചു, പക്ഷേ അത് അനുവദിക്കില്ല ഓപ്പറേഷൻ അനുവദനീയമല്ല.
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. ഫയലുകളിൽ ആട്രിബ്യൂട്ട് എങ്ങനെ അൺസെറ്റ് ചെയ്യാം
മുകളിലെ ഉദാഹരണത്തിൽ, ആകസ്മികമായ ഇല്ലാതാക്കലിൽ നിന്ന് ഫയലുകൾ സുരക്ഷിതമാക്കുന്നതിനും തടയുന്നതിനും ആട്രിബ്യൂട്ട് എങ്ങനെ സജ്ജീകരിക്കാമെന്ന് ഞങ്ങൾ കണ്ടു, ഇവിടെ ഈ ഉദാഹരണത്തിൽ, അനുമതികൾ പുനഃസജ്ജമാക്കുന്നത് (ആട്രിബ്യൂട്ട് അൺസെറ്റ് ചെയ്യുക) എങ്ങനെയെന്ന് ഞങ്ങൾ കാണും കൂടാതെ ഫയലുകൾ മാറ്റാവുന്നതോ മാറ്റാവുന്നതോ ആക്കുന്നതിന് അനുവദിക്കുന്നു - ഞാൻ പതാക.
chattr -i demo/ important_file.conf
അനുമതികൾ പുനഃസജ്ജമാക്കിയ ശേഷം, 'lsattr' കമാൻഡ് ഉപയോഗിച്ച് ഫയലുകളുടെ മാറ്റമില്ലാത്ത നില പരിശോധിക്കുക.
lsattr ---------------- ./demo ---------------- ./important_file.conf
മുകളിലെ ഫലങ്ങളിൽ '-i' ഫ്ലാഗ് നീക്കം ചെയ്തതായി നിങ്ങൾ കാണുന്നു, അതിനർത്ഥം നിങ്ങൾക്ക് tecmint ഫോൾഡറിലെ എല്ലാ ഫയലുകളും ഫോൾഡറും സുരക്ഷിതമായി നീക്കംചെയ്യാം എന്നാണ്.
rm -rf * ls -l total 0
3. /etc/passwd, /etc/shadow ഫയലുകൾ എങ്ങനെ സുരക്ഷിതമാക്കാം
/etc/passwd അല്ലെങ്കിൽ /etc/shadow എന്ന ഫയലുകളിൽ മാറ്റമില്ലാത്ത ആട്രിബ്യൂട്ട് സജ്ജീകരിക്കുന്നത്, ആകസ്മികമായ നീക്കം ചെയ്യപ്പെടുന്നതിൽ നിന്നോ നാശനഷ്ടങ്ങളിൽ നിന്നോ അവയെ സുരക്ഷിതമാക്കുകയും ഉപയോക്തൃ അക്കൗണ്ട് സൃഷ്ടിക്കുന്നത് പ്രവർത്തനരഹിതമാക്കുകയും ചെയ്യും.
chattr +i /etc/passwd chattr +i /etc/shadow
ഇപ്പോൾ ഒരു പുതിയ സിസ്റ്റം ഉപയോക്താവിനെ സൃഷ്ടിക്കാൻ ശ്രമിക്കുക, നിങ്ങൾക്ക് '/etc/passwd തുറക്കാൻ കഴിയില്ല' എന്ന പിശക് സന്ദേശം ലഭിക്കും.
useradd tecmint useradd: cannot open /etc/passwd
ഈ രീതിയിൽ, ഇല്ലാതാക്കുന്നതിൽ നിന്ന് തടയുന്നതിന് നിങ്ങളുടെ പ്രധാനപ്പെട്ട ഫയലുകളിലോ സിസ്റ്റം കോൺഫിഗറേഷൻ ഫയലുകളിലോ നിങ്ങൾക്ക് മാറ്റമില്ലാത്ത അനുമതികൾ സജ്ജമാക്കാൻ കഴിയും.
4. ഫയലിൽ നിലവിലുള്ള ഡാറ്റ പരിഷ്കരിക്കാതെ ഡാറ്റ കൂട്ടിച്ചേർക്കുക
ഇതിനകം നൽകിയ ഡാറ്റ മാറ്റുകയോ പരിഷ്കരിക്കുകയോ ചെയ്യാതെ ഒരു ഫയലിൽ ഡാറ്റ കൂട്ടിച്ചേർക്കാൻ എല്ലാവരെയും അനുവദിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് കരുതുക, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന രീതിയിൽ 'a' ആട്രിബ്യൂട്ട് ഉപയോഗിക്കാം.
chattr +a example.txt lsattr example.txt -----a---------- example.txt
അനുബന്ധ മോഡ് സജ്ജീകരിച്ച ശേഷം, അനുബന്ധ മോഡിൽ മാത്രം ഡാറ്റ എഴുതുന്നതിനായി ഫയൽ തുറക്കാൻ കഴിയും. നിങ്ങൾക്ക് അനുബന്ധ ആട്രിബ്യൂട്ട് ഇനിപ്പറയുന്ന രീതിയിൽ അൺസെറ്റ് ചെയ്യാം.
chattr -a example.txt
ഉദാഹരണം.txt എന്ന ഫയലിൽ നിലവിലുള്ള ഉള്ളടക്കം മാറ്റിസ്ഥാപിക്കാൻ ഇപ്പോൾ ശ്രമിക്കുക, 'പ്രവർത്തനം അനുവദനീയമല്ല' എന്ന് നിങ്ങൾക്ക് പിശക് ലഭിക്കും.
echo "replace contain on file." > example.txt -bash: example.txt: Operation not permitted
ഇപ്പോൾ നിലവിലുള്ള example.txt ഫയലിൽ പുതിയ ഉള്ളടക്കം കൂട്ടിച്ചേർക്കാൻ ശ്രമിക്കുക, അത് പരിശോധിച്ചുറപ്പിക്കുക.
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. ഡയറക്ടറികൾ എങ്ങനെ സുരക്ഷിതമാക്കാം
മുഴുവൻ ഡയറക്uടറിയും അതിന്റെ ഫയലുകളും സുരക്ഷിതമാക്കാൻ, ഞങ്ങൾ ഫോൾഡറിന്റെ പൂർണ്ണ പാതയ്uക്കൊപ്പം '+i' ഫ്ലാഗ് ഉപയോഗിച്ച് '-R' (ആവർത്തനപരമായി) സ്വിച്ച് ഉപയോഗിക്കുന്നു.
chattr -R +i myfolder
ആവർത്തന ആട്രിബ്യൂട്ട് സജ്ജീകരിച്ച ശേഷം, ഫോൾഡറും അതിന്റെ ഫയലുകളും ഇല്ലാതാക്കാൻ ശ്രമിക്കുക.
rm -rf myfolder/ rm: cannot remove 'myfolder/': Operation not permitted
അനുമതി സജ്ജീകരിക്കാതിരിക്കാൻ, ഫോൾഡറിന്റെ പൂർണ്ണ പാതയ്uക്കൊപ്പം '-i' ഫ്ലാഗ് ഉപയോഗിച്ച് ഞങ്ങൾ അതേ '-R' (ആവർത്തനമായി) സ്വിച്ച് ഉപയോഗിക്കുന്നു.
chattr -R -i myfolder
അത്രയേയുള്ളൂ! chattr കമാൻഡ് ആട്രിബ്യൂട്ടുകൾ, ഫ്ലാഗുകൾ, ഓപ്ഷനുകൾ എന്നിവയെക്കുറിച്ച് കൂടുതലറിയാൻ man പേജുകൾ ഉപയോഗിക്കുക.