5 ຄຳ ສັ່ງສົນທະນາເພື່ອເຮັດໃຫ້ເອກະສານ ສຳ ຄັນສາມາດປັບປຸງໄດ້ທັນທີ (ບໍ່ສາມາດປ່ຽນແປງໄດ້) ໃນ Linux


ສົນທະສັນຍາ (ປ່ຽນຄຸນລັກສະນະ) ແມ່ນສາຍບັນທຶກ Linux ທີ່ໃຊ້ເພື່ອ ກຳ ນົດ/ບໍ່ ກຳ ນົດຄຸນລັກສະນະບາງຢ່າງໃຫ້ກັບເອກະສານໃນລະບົບ Linux ເພື່ອຮັບປະກັນການລຶບໂດຍບັງເອີນຫຼືການດັດແປງເອກະສານແລະແຟ້ມທີ່ ສຳ ຄັນ, ເຖິງແມ່ນວ່າທ່ານໄດ້ເຂົ້າສູ່ລະບົບແລ້ວ. ໃນເປັນຜູ້ໃຊ້ຮາກ.

ໃນລະບົບແຟ້ມ Linux ຂອງ Linux i.e. ext2, ext3, ext4, btrfs, ແລະອື່ນໆສະ ໜັບ ສະ ໜູນ ທຸງທຸກຢ່າງ, ເຖິງວ່າທຸງທັງ ໝົດ ຈະບໍ່ສະ ໜັບ ສະ ໜູນ ທຸກໆ FS ທີ່ບໍ່ແມ່ນ native. ຫນຶ່ງບໍ່ສາມາດລຶບຫລືດັດແປງເອກະສານ/ໂຟນເດີເມື່ອຄຸນລັກສະນະຖືກຕັ້ງຄ່າກັບ ຄຳ ສັ່ງ chattr, ເຖິງແມ່ນວ່າຜູ້ ໜຶ່ງ ມີສິດເຕັມຮູບແບບໃນມັນ.

ນີ້ມີປະໂຫຍດຫຼາຍໃນການ ກຳ ນົດຄຸນລັກສະນະຕ່າງໆໃນໄຟລ໌ຂອງລະບົບເຊັ່ນ passwd ແລະ shadow file ເຊິ່ງຂໍ້ມູນຂອງຜູ້ໃຊ້ມີ.

# chattr [operator] [flags] [filename]

ຕໍ່ໄປນີ້ແມ່ນບັນຊີລາຍຊື່ຂອງຄຸນລັກສະນະ ທຳ ມະດາແລະທຸງທີ່ກ່ຽວຂ້ອງສາມາດຕັ້ງ/ບໍ່ ກຳ ນົດໂດຍໃຊ້ ຄຳ ສັ່ງ chattr.

<

  • ຖ້າເອກະສານຖືກເຂົ້າເຖິງດ້ວຍ ‘A’ ຄຸນລັກສະນະທີ່ ກຳ ນົດໄວ້, ບັນທຶກເວລາຂອງມັນຈະບໍ່ຖືກປັບປຸງ.
  • ຖ້າເອກະສານຖືກດັດແກ້ດ້ວຍຄຸນລັກສະນະ 'S', ການປ່ຽນແປງຈະຖືກປັບປຸງ ໃໝ່ ຢູ່ໃນແຜ່ນ.
  • ເອກະສານຖືກ ກຳ ນົດດ້ວຍ ‘ຄຸນລັກສະນະ’, ພຽງແຕ່ສາມາດເປີດໃນແບບທີ່ເພີ່ມຂື້ນ ສຳ ລັບການຂຽນ.
  • ເອກະສານຖືກ ກຳ ນົດດ້ວຍ ‘i’ ຄຸນລັກສະນະ, ບໍ່ສາມາດດັດແກ້ (ປ່ຽນແປງໄດ້). ໝາຍ ຄວາມວ່າບໍ່ມີການປ່ຽນຊື່, ບໍ່ມີການສ້າງສັນຍາລັກທີ່ບໍ່ມີສັນຍາລັກ, ບໍ່ມີການປະຕິບັດ, ບໍ່ສາມາດຂຽນໄດ້, ມີພຽງຜູ້ ນຳ ໃຊ້ບໍ່ສາມາດ ກຳ ນົດຄຸນລັກສະນະນີ້ໄດ້.
  • ເອກະສານທີ່ມີຄຸນລັກສະນະ ‘j’ ຖືກຕັ້ງຄ່າ, ຂໍ້ມູນທັງ ໝົດ ຂອງມັນຖືກປັບປຸງໃຫ້ກັບວາລະສານ ext3 ກ່ອນທີ່ຈະຖືກອັບເດດໃສ່ເອກະສານນັ້ນເອງ.
  • ເອກະສານຖືກ ກຳ ນົດດ້ວຍຄຸນລັກສະນະ, ບໍ່ມີການປະສົມປະສານຫາງ.
  • ເອກະສານທີ່ມີຄຸນລັກສະນະ ‘d’, ຈະບໍ່ມີຜູ້ສະ ໝັກ ເຂົ້າໄປ ສຳ ຮອງໃນເວລາທີ່ຂັ້ນຕອນການຖິ້ມ.
  • ເມື່ອເອກະສານຖືກລຶບຄຸນລັກສະນະ, ຂໍ້ມູນຂອງມັນຖືກບັນທຶກໄວ້. ນີ້ເຮັດໃຫ້ຜູ້ໃຊ້ສາມາດຮ້ອງຂໍການແກ້ໄຂ.
  • <

  • + : ເພີ່ມຄຸນລັກສະນະຂອງຄຸນລັກສະນະທີ່ມີຢູ່ຂອງແຟ້ມ.
  • - : ລຶບຄຸນລັກສະນະຂອງຄຸນລັກສະນະທີ່ມີຢູ່ຂອງແຟ້ມ.
  • = : ຮັກສາຄຸນລັກສະນະທີ່ມີຢູ່ໄວ້ໃນແຟ້ມ.
  • ນີ້, ພວກເຮົາຈະສະແດງຕົວຢ່າງ ຄຳ ສັ່ງຂອງ chattr ເພື່ອ ກຳ ນົດ/ບໍ່ ກຳ ນົດຄຸນລັກສະນະໃຫ້ກັບແຟ້ມແລະແຟ້ມ.

    1. ວິທີການເພີ່ມຄຸນລັກສະນະໃນແຟ້ມຕ່າງໆເພື່ອຮັບປະກັນການລຶບ

    ເພື່ອຈຸດປະສົງການສາທິດ, ພວກເຮົາໄດ້ໃຊ້ໂຟນເດີ ການສາທິດ ແລະແຟ້ມ ສຳ ຄັນ_file.conf ຕາມ ລຳ ດັບ. ກ່ອນທີ່ຈະຕັ້ງຄ່າຄຸນລັກສະນະ, ໃຫ້ແນ່ໃຈວ່າຈະກວດສອບວ່າແຟ້ມທີ່ມີຢູ່ແລ້ວມີຄຸນລັກສະນະໃດທີ່ ກຳ ນົດໂດຍໃຊ້ ຄຳ ສັ່ງ '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
    

    ເພື່ອ ກຳ ນົດຄຸນລັກສະນະ, ພວກເຮົາໃຊ້ເຄື່ອງ ໝາຍ + ແລະເພື່ອບໍ່ໃຊ້ ໝາຍ - ເຊັນກັບ ຄຳ ສັ່ງ chattr. ສະນັ້ນ, ຂໍໃຫ້ຕັ້ງຄ່າທີ່ບໍ່ສາມາດປ່ຽນແປງໄດ້ຢູ່ໃນແຟ້ມທີ່ມີທຸງ + i ເພື່ອປ້ອງກັນບໍ່ໃຫ້ໃຜລຶບເອກະສານ, ເຖິງແມ່ນວ່າຜູ້ໃຊ້ຮາກບໍ່ມີສິດທີ່ຈະລຶບມັນໄດ້.

     chattr +i demo/
     chattr +i important_file.conf
    

    ໝາຍ ເຫດ: ບິດທີ່ບໍ່ສາມາດປ່ຽນແປງໄດ້ + i ສາມາດ ກຳ ນົດໂດຍຜູ້ໃຊ້ superuser (i.e root) ຫຼືຜູ້ໃຊ້ທີ່ມີສິດທິພິເສດ sudo ສາມາດຕັ້ງຄ່າໄດ້.

    ຫຼັງຈາກຕັ້ງຄ່າເລັກນ້ອຍທີ່ບໍ່ສາມາດປ່ຽນແປງໄດ້, ໃຫ້ກວດພິສູດຄຸນລັກສະນະດັ່ງກ່າວດ້ວຍ ຄຳ ສັ່ງວ່າ 'ເສີຍຫາຍ'.

     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. ວິທີການຍົກເລີກຄຸນລັກສະນະໃນ Files

    ໃນຕົວຢ່າງຂ້າງເທິງ, ພວກເຮົາໄດ້ເຫັນວິທີການ ກຳ ນົດຄຸນລັກສະນະເພື່ອຮັບປະກັນແລະປ້ອງກັນໄຟລ໌ຈາກການລຶບທີ່ເກີດຂື້ນໂດຍບັງເອີນ, ໃນທີ່ນີ້ໃນຕົວຢ່າງນີ້, ພວກເຮົາຈະເຫັນວິທີການຕັ້ງຄ່າການ ກຳ ນົດສິດ (ບໍ່ໄດ້ ກຳ ນົດ) ແລະອະນຸຍາດໃຫ້ເຮັດໃຫ້ໄຟລ໌ປ່ຽນແປງຫລືປ່ຽນແປງໄດ້ໂດຍ ນຳ ໃຊ້ - i ທຸງ.

     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/ເງົາ , ເຮັດໃຫ້ພວກເຂົາປອດໄພຈາກການ ກຳ ຈັດຫຼືບັງເອີນໂດຍບັງເອີນແລະມັນກໍ່ຈະປິດການສ້າງບັນຊີຜູ້ໃຊ້.

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

    ຕອນນີ້ພະຍາຍາມສ້າງຜູ້ໃຊ້ລະບົບ ໃໝ່, ທ່ານຈະໄດ້ຮັບຂໍ້ຄວາມຜິດພາດໂດຍກ່າວວ່າ 'ບໍ່ສາມາດເປີດ/etc/passwd'.

     useradd tecmint
    useradd: cannot open /etc/passwd
    

    ວິທີນີ້ທ່ານສາມາດ ກຳ ນົດການອະນຸຍາດທີ່ບໍ່ສາມາດປ່ຽນແປງໄດ້ໃນເອກະສານ ສຳ ຄັນຂອງທ່ານຫຼືແຟ້ມການຕັ້ງຄ່າລະບົບເພື່ອປ້ອງກັນຈາກການລຶບ.

    4. ຕື່ມຂໍ້ມູນໂດຍບໍ່ຕ້ອງດັດແປງຂໍ້ມູນທີ່ມີຢູ່ໃນ File

    ສົມມຸດວ່າ, ທ່ານພຽງແຕ່ຕ້ອງການທີ່ຈະອະນຸຍາດໃຫ້ທຸກຄົນພຽງແຕ່ເພີ່ມຂໍ້ມູນໃສ່ໃນເອກະສານໂດຍບໍ່ມີການປ່ຽນແປງຫຼືດັດແກ້ຂໍ້ມູນທີ່ໃສ່ແລ້ວ, ທ່ານສາມາດໃຊ້ຄຸນລັກສະນະດັ່ງຕໍ່ໄປນີ້.

     chattr +a example.txt
    
     lsattr example.txt
    -----a---------- example.txt
    

    ຫຼັງຈາກຕັ້ງຮູບແບບເອກະສານຊ້ອນທ້າຍ, ເອກະສານສາມາດເປີດເພື່ອຂຽນຂໍ້ມູນໃນຮູບແບບເອກະສານຊ້ອນທ້າຍເທົ່ານັ້ນ. ທ່ານສາມາດ ກຳ ນົດຄຸນລັກສະນະເພີ່ມເຕີມດັ່ງຕໍ່ໄປນີ້.

     chattr -a example.txt
    

    ຕອນນີ້ພະຍາຍາມທົດແທນເນື້ອຫາທີ່ມີຢູ່ແລ້ວໃນຕົວຢ່າງ file.txt, ທ່ານຈະໄດ້ຮັບຂໍ້ຜິດພາດໂດຍກ່າວວ່າ 'ການ ດຳ ເນີນງານບໍ່ໄດ້ຮັບອະນຸຍາດ'.

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

    ຕອນນີ້ພະຍາຍາມເພີ່ມເນື້ອຫາ ໃໝ່ ໃສ່ໃນຕົວຢ່າງ file.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. ວິທີການຮັບປະກັນລາຍຊື່

    ເພື່ອຮັບປະກັນໄດເລກະທໍລີແລະເອກະສານທັງ ໝົດ, ພວກເຮົາໃຊ້ '-R' (ກັບຄືນ ໃໝ່) ກັບ '+ i' ທຸງພ້ອມດ້ວຍເສັ້ນທາງເຕັມຂອງໂຟນເດີ.

     chattr -R +i myfolder
    

    ຫຼັງຈາກການ ກຳ ນົດຄຸນລັກສະນະຂອງການຄົ້ນຫາຄືນ ໃໝ່, ພະຍາຍາມລຶບໂຟນເດີແລະແຟ້ມຂອງມັນ.

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

    ເພື່ອ ກຳ ນົດການອະນຸຍາດ, ພວກເຮົາໃຊ້ປຸ່ມປ່ຽນ '-R' ດຽວກັນ (ກັບຄືນ ໃໝ່) ດ້ວຍທຸງ '-i' ພ້ອມກັບເສັ້ນທາງເຕັມຂອງໂຟນເດີ.

     chattr -R -i myfolder
    

    ນັ້ນແມ່ນມັນ! ເພື່ອຮູ້ເພີ່ມເຕີມກ່ຽວກັບຄຸນລັກສະນະຂອງ ຄຳ ສັ່ງຂອງ chattr, ທຸງແລະຕົວເລືອກໃຊ້ ໜ້າ man.