ວິທີການປົກປ້ອງການເຊື່ອມຕໍ່ທີ່ຍາກແລະເປັນສັນຍາລັກໃນ CentOS/RHEL 7


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

ຄວາມສ່ຽງທີ່ພົບເລື້ອຍແມ່ນເຊື້ອຊາດ symlink. ມັນເປັນຂໍ້ບົກພ່ອງດ້ານຄວາມປອດໄພໃນຊອບແວ, ເຊິ່ງເກີດຂື້ນເມື່ອໂປແກຼມສ້າງໄຟລ໌ (ໂດຍສະເພາະໄຟລ໌ຊົ່ວຄາວ), ແລະຜູ້ໃຊ້ລະບົບທີ່ເປັນອັນຕະລາຍສາມາດສ້າງສັນຍາລັກ (ອ່ອນ) ທີ່ເຊື່ອມໂຍງກັບເອກະສານດັ່ງກ່າວ.

ນີ້ແມ່ນປະຕິບັດເກີດຂື້ນ; ໂປແກຼມກວດເບິ່ງວ່າມີເອກະສານ temp ຫຼືບໍ່, ໃນກໍລະນີມັນບໍ່ມີ, ມັນຈະສ້າງເອກະສານ. ແຕ່ໃນໄລຍະເວລາສັ້ນໆຂອງເວລານັ້ນລະຫວ່າງການກວດສອບເອກະສານແລະການສ້າງມັນ, ຜູ້ໂຈມຕີສາມາດສ້າງສັນຍາລັກເຊື່ອມໂຍງກັບເອກະສານແລະລາວບໍ່ໄດ້ຮັບອະນຸຍາດເຂົ້າເຖິງ.

ສະນັ້ນເມື່ອໂປແກຼມເຮັດວຽກດ້ວຍສິດທິພິເສດທີ່ຖືກຕ້ອງສ້າງແຟ້ມເອກະສານທີ່ມີຊື່ດຽວກັນກັບເອກະສານທີ່ສ້າງຂື້ນໂດຍຜູ້ໂຈມຕີ, ມັນກໍ່ຈະສ້າງເອກະສານເປົ້າ ໝາຍ (ເຊື່ອມໂຍງກັບ) ທີ່ຜູ້ໂຈມຕີຕັ້ງໃຈເຂົ້າຫາ. ເພາະສະນັ້ນ, ນີ້ສາມາດເຮັດໃຫ້ຜູ້ໂຈມຕີມີວິທີທາງທີ່ຈະລັກຂໍ້ມູນທີ່ລະອຽດອ່ອນຈາກບັນຊີຮາກຫຼືປະຕິບັດໂປແກຼມທີ່ເປັນອັນຕະລາຍໃນລະບົບ.

ດັ່ງນັ້ນ, ໃນບົດຂຽນນີ້, ພວກເຮົາຈະສະແດງວິທີການຮັບປະກັນການເຊື່ອມຕໍ່ທີ່ຍາກແລະເປັນສັນຍາລັກຈາກຜູ້ໃຊ້ທີ່ເປັນອັນຕະລາຍຫຼືແຮກເກີໃນການແຈກຢາຍ CentOS/RHEL 7.

ໃນ CentOS/RHEL 7 ມີຄຸນລັກສະນະຄວາມປອດໄພທີ່ ສຳ ຄັນເຊິ່ງອະນຸຍາດໃຫ້ມີການເຊື່ອມຕໍ່ທີ່ຈະຖືກສ້າງຂື້ນຫຼືປະຕິບັດຕາມໂປແກຼມເທົ່ານັ້ນຖ້າມີບາງເງື່ອນໄຂທີ່ພໍໃຈດັ່ງທີ່ໄດ້ອະທິບາຍໄວ້ຂ້າງລຸ່ມນີ້.

ສຳ ລັບຜູ້ ນຳ ໃຊ້ລະບົບເພື່ອສ້າງລິ້ງ, ໜຶ່ງ ໃນເງື່ອນໄຂຕໍ່ໄປນີ້ຕ້ອງໄດ້ເຮັດ ສຳ ເລັດ.

  • ຜູ້ໃຊ້ສາມາດເຊື່ອມຕໍ່ກັບເອກະສານທີ່ຕົນເອງເປັນເຈົ້າຂອງເທົ່ານັ້ນ.
  • ກ່ອນ
  • ຜູ້ໃຊ້ຕ້ອງໄດ້ອ່ານແລະຂຽນການເຂົ້າເຖິງເອກະສານ, ວ່າລາວຕ້ອງການເຊື່ອມຕໍ່ເຂົ້າ.

ຂະບວນການຕ່າງໆແມ່ນອະນຸຍາດໃຫ້ຕິດຕາມລິ້ງທີ່ຢູ່ນອກໂລກ (ຜູ້ໃຊ້ຄົນອື່ນໄດ້ຮັບອະນຸຍາດໃຫ້ຂຽນໃສ່) ລາຍການທີ່ມີກະຕ່າຫນຽວ, ຫລື ໜຶ່ງ ໃນສິ່ງຕໍ່ໄປນີ້ຕ້ອງເປັນຄວາມຈິງ.

  • ຂັ້ນຕອນທີ່ປະຕິບັດຕາມລິ້ງສັນຍາລັກແມ່ນເຈົ້າຂອງລິ້ງສັນຍາລັກ.
  • ເຈົ້າຂອງໄດເລກະທໍລີຍັງເປັນເຈົ້າຂອງລິ້ງທີ່ມີສັນຍາລັກ.

ເປີດໃຊ້ງານຫຼືປິດການປ້ອງກັນໃນລິ້ງທີ່ແຂງແລະສັນຍາລັກ

ສິ່ງທີ່ ສຳ ຄັນ, ໂດຍຄ່າເລີ່ມຕົ້ນ, ຄຸນລັກສະນະນີ້ຖືກເປີດໃຊ້ໂດຍໃຊ້ຕົວ ກຳ ນົດແກ່ນໃນເອກະສານ /usr/lib/sysctl.d/50-default.conf (ຄຸນຄ່າຂອງ 1 ໝາຍ ຄວາມວ່າສາມາດໃຊ້ງານໄດ້).

fs.protected_hardlinks = 1
fs.protected_symlinks = 1

ເຖິງຢ່າງໃດກໍ່ຕາມ, ດ້ວຍເຫດຜົນ ໜຶ່ງ ຫຼືເຫດຜົນອື່ນ, ຖ້າທ່ານຕ້ອງການປິດຄຸນລັກສະນະຄວາມປອດໄພນີ້; ສ້າງເອກະສານທີ່ເອີ້ນວ່າ /etc/sysctl.d/51-no-protect-links.conf ດ້ວຍຕົວເລືອກເຫຼົ່ານີ້ຢູ່ດ້ານລຸ່ມ (ຄ່າຂອງ 0 ໝາຍ ຄວາມວ່າຖືກປິດໃຊ້ງານ).

ຈົ່ງສັງເກດກ່ຽວກັບວ່າ 51 ໃນຊື່ filename (51-no-protect-links.conf), ມັນຕ້ອງໄດ້ອ່ານຫຼັງຈາກໄຟລ໌ເລີ່ມຕົ້ນທີ່ຈະ override ການຕັ້ງຄ່າເລີ່ມຕົ້ນ.

fs.protected_hardlinks = 0
fs.protected_symlinks = 0

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

# sysctl --system
OR
# sysctl -p  #on older systems

ທ່ານອາດຈະມັກອ່ານບົດຄວາມຕໍ່ໄປນີ້.

<

  • ວິທີການລະຫັດລັບປົກປ້ອງເອກະສານ Vim ໃນ Linux
  • 5 ‘chattr’ ຄຳ ສັ່ງທີ່ຈະເຮັດໃຫ້ແຟ້ມເອກະສານ ສຳ ຄັນ (ປ່ຽນແປງໄດ້) ໃນ Linux
  • ຫມົດເທົ່ານີ້! ທ່ານສາມາດຂຽນແບບສອບຖາມຂອງທ່ານຫຼືແບ່ງປັນຄວາມຄິດທີ່ກ່ຽວຂ້ອງກັບຫົວຂໍ້ນີ້ຜ່ານແບບຟອມ ຄຳ ຄິດເຫັນດ້ານລຸ່ມ.