ຊຸດ RHCSA: ການ ນຳ ໃຊ້ ACLs (ລາຍການຄວບຄຸມການເຂົ້າເຖິງ) ແລະຮຸ້ນ Mounting Samba/NFS - ສ່ວນທີ 7


ໃນບົດຂຽນສຸດທ້າຍ (ຊຸດ RHCSA ພາກທີ 6) ພວກເຮົາເລີ່ມຕົ້ນອະທິບາຍວິທີການຕັ້ງຄ່າແລະການຕັ້ງຄ່າການເກັບຮັກສາລະບົບທ້ອງຖິ່ນໂດຍໃຊ້ສ່ວນແລະ ssm.

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

ກ່ອນທີ່ຈະ ດຳ ເນີນການຕໍ່ໄປ, ກະລຸນາຮັບປະກັນວ່າທ່ານມີ server server ຂອງ Samba ແລະ server ທີ່ມີ NFS ຢູ່ (ໃຫ້ສັງເກດວ່າ NFSv2 ບໍ່ໄດ້ຮັບການສະ ໜັບ ສະ ໜູນ ໃນ RHEL 7 ອີກຕໍ່ໄປ).

ໃນລະຫວ່າງ ຄຳ ແນະ ນຳ ນີ້ພວກເຮົາຈະ ນຳ ໃຊ້ເຄື່ອງທີ່ມີ IP 192.168.0.10 ມີທັງການບໍລິການທີ່ແລ່ນຢູ່ໃນມັນເປັນ server, ແລະກ່ອງ RHEL 7 ເປັນລູກຄ້າທີ່ມີທີ່ຢູ່ IP 192.168.0.18. ຕໍ່ມາໃນບົດຂຽນພວກເຮົາຈະບອກທ່ານວ່າທ່ານ ຈຳ ເປັນຕ້ອງຕິດຕັ້ງຊຸດໃດໃນລູກຄ້າ.

ຮູບແບບລະບົບແຟ້ມເອກະສານໃນ RHEL 7

ເລີ່ມຕົ້ນດ້ວຍ RHEL 7, XFS ໄດ້ຖືກ ນຳ ສະ ເໜີ ເປັນລະບົບແຟ້ມຄ່າເລີ່ມຕົ້ນ ສຳ ລັບສະຖາປັດຕະຍະ ກຳ ທັງ ໝົດ ເນື່ອງຈາກມີປະສິດຕິພາບສູງແລະສາມາດປັບຂະ ໜາດ ໄດ້. ປະຈຸບັນມັນສະ ໜັບ ສະ ໜູນ ຂະ ໜາດ ແຟ້ມເອກະສານສູງສຸດ 500 TB ເທົ່າກັບການທົດລອງຫຼ້າສຸດທີ່ ດຳ ເນີນໂດຍ Red Hat ແລະຄູ່ຮ່ວມງານ ສຳ ລັບຮາດແວຫລັກ.

ເຊັ່ນດຽວກັນ, XFS ເຮັດໃຫ້ user_xattr (ຄຸນລັກສະນະຂອງຜູ້ໃຊ້ຂະຫຍາຍ) ແລະ acl (ບັນຊີລາຍຊື່ຄວບຄຸມການເຂົ້າເຖິງ POSIX) ເປັນຕົວເລືອກການຕິດຕັ້ງແບບເລີ່ມຕົ້ນ, ບໍ່ຄືກັບ ext3 ຫຼື ext4 (ext2 ຖືວ່າຖືກປະຕິເສດເປັນຂອງ RHEL 7 ) ຊຶ່ງ ໝາຍ ຄວາມວ່າທ່ານບໍ່ ຈຳ ເປັນຕ້ອງ ກຳ ນົດຕົວເລືອກເຫລົ່ານັ້ນຢ່າງຈະແຈ້ງທັງເສັ້ນ ຄຳ ສັ່ງຫລືໃນ/etc/fstab ເມື່ອຕິດຕັ້ງລະບົບແຟ້ມເອກະສານ XFS (ຖ້າທ່ານຕ້ອງການປິດຕົວເລືອກດັ່ງກ່າວໃນກໍລະນີສຸດທ້າຍນີ້, ທ່ານຕ້ອງໃຊ້ຢ່າງຊັດເຈນ < b> no_acl ແລະ no_user_xattr ).

ຈື່ໄວ້ວ່າຄຸນລັກສະນະຂອງຜູ້ໃຊ້ທີ່ສາມາດຂະຫຍາຍໄດ້ສາມາດຖືກ ກຳ ນົດໃຫ້ເປັນແຟ້ມແລະໄດເລກະທໍລີ ສຳ ລັບເກັບຂໍ້ມູນເພີ່ມເຕີມທີ່ຕົນເອງມັກເຊັ່ນ: mime type, ຕົວລະຄອນຫຼື encoding ຂອງ file, ໃນຂະນະທີ່ການອະນຸຍາດເຂົ້າເຖິງ ສຳ ລັບຄຸນລັກສະນະຂອງຜູ້ໃຊ້ແມ່ນຖືກ ກຳ ນົດໂດຍ bits ການອະນຸຍາດເອກະສານປົກກະຕິ.

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

ເຖິງຢ່າງໃດກໍ່ຕາມ, ເນື່ອງຈາກຊຸດ ugo/rwx ມາດຕະຖານບໍ່ອະນຸຍາດໃຫ້ ກຳ ນົດສິດອະນຸຍາດທີ່ແຕກຕ່າງກັນ ສຳ ລັບຜູ້ໃຊ້ທີ່ແຕກຕ່າງກັນ, ACLs ໄດ້ຖືກ ນຳ ສະ ເໜີ ເພື່ອ ກຳ ນົດສິດໃນການເຂົ້າເຖິງລະອຽດ ສຳ ລັບເອກະສານແລະໄດເລກະທໍລີຫຼາຍກ່ວາທີ່ຖືກ ກຳ ນົດໂດຍສິດປົກກະຕິ.

ໃນຄວາມເປັນຈິງ, ສິດອະນຸຍາດທີ່ ກຳ ນົດໂດຍ ACL ແມ່ນຈຸດຮອງຂອງສິດອະນຸຍາດທີ່ລະບຸໄວ້ໃນຂໍ້ອະນຸຍາດເອກະສານ ລອງເບິ່ງວ່າການແປທັງ ໝົດ ນີ້ຖືກ ນຳ ໃຊ້ໃນໂລກຕົວຈິງແນວໃດ.

1. ACLs ມີສອງປະເພດຄື: ການເຂົ້າເຖິງ ACLs, ເຊິ່ງສາມາດ ນຳ ໃຊ້ກັບເອກະສານສະເພາະເຈາະຈົງຫລືໄດເລກະທໍລີ) ແລະຄ່າ ACLs ໃນຕອນຕົ້ນ, ເຊິ່ງສາມາດ ນຳ ໃຊ້ກັບໄດເລກະທໍລີ. ຖ້າເອກະສານທີ່ບັນຈຸຢູ່ໃນນັ້ນບໍ່ມີຊຸດ ACL, ພວກມັນຈະສືບທອດເອກະສານ ACL ໃນຕອນຕົ້ນຂອງໄດເລກະທໍລີພໍ່ແມ່ຂອງພວກເຂົາ.

2. ເພື່ອເລີ່ມຕົ້ນ, ACLs ສາມາດຕັ້ງຄ່າໄດ້ຕໍ່ຜູ້ໃຊ້, ຕໍ່ກຸ່ມ, ຫລືຕໍ່ຜູ້ໃຊ້ທີ່ບໍ່ຢູ່ໃນກຸ່ມຂອງເອກະສານ.

3. ACLs ຖືກຕັ້ງຄ່າ (ແລະຖອດອອກ) ໂດຍໃຊ້ setfacl, ມີຕົວເລືອກ -m ຫຼື -x ຕາມ ລຳ ດັບ.

ຕົວຢ່າງ, ໃຫ້ພວກເຮົາສ້າງກຸ່ມທີ່ມີຊື່ວ່າ tecmint ແລະເພີ່ມຜູ້ໃຊ້ johndoe ແລະ davenull ໃສ່ມັນ:

# groupadd tecmint
# useradd johndoe
# useradd davenull
# usermod -a -G tecmint johndoe
# usermod -a -G tecmint davenull

ແລະໃຫ້ພິສູດວ່າຜູ້ຊົມໃຊ້ທັງສອງແມ່ນຂຶ້ນກັບກຸ່ມເສີມ tecmint:

# id johndoe
# id davenull

ດຽວນີ້ໃຫ້ສ້າງບັນດາໄດເລກະທໍລີທີ່ຊື່ວ່າ playground ພາຍໃນ/mnt, ແລະເອກະສານທີ່ມີຊື່ testfile.txt ຢູ່ຂ້າງໃນ. ພວກເຮົາຈະ ກຳ ນົດເຈົ້າຂອງກຸ່ມໃຫ້ tecmint ແລະປ່ຽນສິດອະນຸຍາດ ugo/rwx ຂອງຕົນເປັນ 770 (ອ່ານ, ຂຽນແລະປະຕິບັດການອະນຸຍາດທີ່ອະນຸຍາດໃຫ້ທັງເຈົ້າຂອງແລະເຈົ້າຂອງກຸ່ມຂອງເອກະສານ):

# mkdir /mnt/playground
# touch /mnt/playground/testfile.txt
# chmod 770 /mnt/playground/testfile.txt

ຫຼັງຈາກນັ້ນປ່ຽນຜູ້ໃຊ້ໄປຍັງ johndoe ແລະ davenull, ໃນ ຄຳ ສັ່ງນັ້ນ, ແລະຂຽນໃສ່ແຟ້ມ:

echo "My name is John Doe" > /mnt/playground/testfile.txt
echo "My name is Dave Null" >> /mnt/playground/testfile.txt

ເຖິງຕອນນັ້ນດີຫຼາຍ. ຕອນນີ້ຂໍໃຫ້ຜູ້ໃຊ້ gacanepa ຂຽນໃສ່ແຟ້ມເອກະສານ - ແລະການປະຕິບັດການຂຽນຈະລົ້ມເຫລວ, ເຊິ່ງຄາດວ່າຈະເປັນໄປໄດ້.

ແຕ່ຈະເປັນແນວໃດຖ້າວ່າພວກເຮົາຕ້ອງການຜູ້ໃຊ້ gacanepa ແທ້ໆ (ເຊິ່ງບໍ່ແມ່ນສະມາຊິກຂອງກຸ່ມ tecmint) ທີ່ຈະມີສິດຂຽນໃນ /mnt/playground/testfile.txt? ສິ່ງ ທຳ ອິດທີ່ອາດຈະເຂົ້າໃຈທ່ານແມ່ນການເພີ່ມບັນຊີຜູ້ໃຊ້ເຂົ້າໃນກຸ່ມ tecmint. ແຕ່ສິ່ງນັ້ນຈະເຮັດໃຫ້ລາວມີສິດໃນການຂຽນກ່ຽວກັບໄຟລ໌ທັງ ໝົດ ຖ້າວ່າການຂຽນນ້ອຍແມ່ນຖືກ ກຳ ນົດ ສຳ ລັບກຸ່ມ, ແລະພວກເຮົາກໍ່ບໍ່ຕ້ອງການ. ພວກເຮົາພຽງແຕ່ຕ້ອງການໃຫ້ລາວສາມາດຂຽນເຖິງ /mnt/playground/testfile.txt.

# touch /mnt/playground/testfile.txt
# chown :tecmint /mnt/playground/testfile.txt
# chmod 777 /mnt/playground/testfile.txt
# su johndoe
$ echo "My name is John Doe" > /mnt/playground/testfile.txt
$ su davenull
$ echo "My name is Dave Null" >> /mnt/playground/testfile.txt
$ su gacanepa
$ echo "My name is Gabriel Canepa" >> /mnt/playground/testfile.txt

ໃຫ້ຜູ້ໃຊ້ gacanepa ອ່ານແລະຂຽນການເຂົ້າເຖິງ /mnt/playground/testfile.txt.

ດໍາເນີນການເປັນຮາກ,

# setfacl -R -m u:gacanepa:rwx /mnt/playground

ແລະທ່ານຈະໄດ້ຕື່ມ ACL ຢ່າງປະສົບຜົນ ສຳ ເລັດເຊິ່ງຊ່ວຍໃຫ້ gacanepa ຂຽນເຂົ້າໃນເອກະສານທົດສອບ. ຫຼັງຈາກນັ້ນປ່ຽນໄປໃຊ້ gacanepa ຂອງຜູ້ໃຊ້ແລະພະຍາຍາມຂຽນໃສ່ແຟ້ມອີກຄັ້ງ:

$ echo "My name is Gabriel Canepa" >> /mnt/playground/testfile.txt

ເພື່ອເບິ່ງ ACLs ສຳ ລັບເອກະສານຫຼືໄດເລກະທໍລີສະເພາະ, ໃຫ້ໃຊ້ getfacl:

# getfacl /mnt/playground/testfile.txt

ເພື່ອ ກຳ ນົດຄ່າ ACL ໃນຕອນຕົ້ນໄປທີ່ໄດເລກະທໍລີ (ເຊິ່ງເນື້ອຫາຂອງມັນຈະເປັນມູນມໍລະດົກເວັ້ນເສຍແຕ່ຈະຖືກຂຽນໄວ້ຖ້າບໍ່ດັ່ງນັ້ນ), ຕື່ມ d: ກ່ອນກົດແລະລະບຸໄດເລກະທໍລີແທນທີ່ຈະໃສ່ຊື່ແຟ້ມ:

# setfacl -m d:o:r /mnt/playground

ACL ຂ້າງເທິງນີ້ຈະຊ່ວຍໃຫ້ຜູ້ໃຊ້ທີ່ບໍ່ຢູ່ໃນກຸ່ມເຈົ້າຂອງໄດ້ເຂົ້າເຖິງເນື້ອຫາໃນອະນາຄົດຂອງໄດເລກະທໍລີ/mnt/playground ໃຫ້ສັງເກດຄວາມແຕກຕ່າງຂອງຜົນຜະລິດຂອງ playfacl/mnt/ສະ ໜາມ ຫຼີ້ນກ່ອນແລະຫຼັງການປ່ຽນແປງ:

ບົດທີ 20 ໃນປື້ມຄູ່ມືການບໍລິຫານຈັດເກັບຂໍ້ມູນ RHEL 7 ຢ່າງເປັນທາງການໃຫ້ຕົວຢ່າງ ACL ເພີ່ມເຕີມ, ແລະຂ້ອຍຂໍແນະ ນຳ ໃຫ້ເຈົ້າພິຈາລະນາເບິ່ງແລະໃຫ້ມັນມີປະໂຫຍດ.