Setfacl utility ກໍານົດລາຍະການຄວບຄຸມການເຂົ້າເຖິງ (ACLs) ຂອງໄຟລ໌ ແລະລາຍຊື່. ໃນລະບົບ ຄໍາສັ່ງ , ລໍາດັບຂອງ ຄໍາສັ່ງ ແມ່ນຕິດຕາມໂດຍລໍາດັບໄຟລ໌ (ຊຶ່ງສາມາດຕິດຕາມລໍາດັບຂອງບັນດາຄໍາສັ່ງອື່ນໆ ... ).
ຕົວເລືອກ -m, ແລະ -x ຄາດຫວັງວ່າ ACL ຢູ່ໃນບັນທັດຄໍາສັ່ງ. ຫຼາຍລາຍການ ACL ຖືກແຍກໂດຍຕົວອັກສອນຫຍໍ້ (`, '). ຕົວເລືອກ -M, ແລະ -X ອ່ານ ACL ຈາກໄຟລ໌ຫຼືຈາກການປ້ອນຂໍ້ມູນມາດຕະຖານ. ຮູບແບບການເຂົ້າ ACL ແມ່ນອະທິບາຍໃນພາກ ACL ENTRIES.
ຕົວ ເລືອກ --set ແລະ --set - ໄຟລ໌ ກໍານົດ ACL ຂອງໄຟລ໌ຫຼືໄດເລກະທໍລີ. ACL ທີ່ຜ່ານມາຖືກແທນທີ່. ລາຍການ ACL ສໍາລັບການປະຕິບັດງານນີ້ຕ້ອງປະກອບມີການອະນຸຍາດ.
ຕົວເລືອກ -m (--modify) ແລະ -M (--modify-file) ແກ້ໄຂ ACL ຂອງໄຟລ໌ຫຼືໄດເລກະທໍລີ. ລາຍການ ACL ສໍາລັບການປະຕິບັດງານນີ້ຕ້ອງປະກອບມີການອະນຸຍາດ.
ຕົວເລືອກ -x (- remove) ແລະ -X (- remove-file) ເອົາ ACL enries. ພຽງແຕ່ລາຍຊື່ ACL ທີ່ບໍ່ມີພາກສະຫນາມ perms ຖືກຍອມຮັບເປັນພາລາມິເຕີເວັ້ນເສຍແຕ່ POSIXLY_CORRECT ຖືກກໍານົດ.
ເມື່ອອ່ານຈາກໄຟລ໌ໂດຍໃຊ້ຕົວເລືອກ M ແລະ -X , setfacl ຍອມຮັບຜົນໄດ້ຮັບ getfacl ຜະລິດ. ມີການເຂົ້າ ACL ຫຼາຍທີ່ສຸດຕໍ່ເສັ້ນ. ຫຼັງຈາກປອນປອນ (`# '), ທຸກສິ່ງທຸກຢ່າງເຖິງຕອນທ້າຍຂອງເສັ້ນຖືກຖືວ່າເປັນຄໍາເຫັນ.
ຖ້າ setfacl ຖືກໃຊ້ໃນລະບົບໄຟລ໌ທີ່ບໍ່ສະຫນັບສະຫນູນ ACLs, setfacl ຈະດໍາເນີນການໃນການອະນຸຍາດໃຫ້ໃຊ້ bits. ຖ້າ ACL ບໍ່ເຫມາະສົມໃນ bits ອະນຸຍາດ, setfacl ປັບປຸງແກ້ໄຂໄລຍະການອະນຸຍາດຮູບແບບໄຟລ໌ເພື່ອສະທ້ອນ ACL ຢ່າງໃກ້ຊິດ, ຂຽນຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດກັບຂໍ້ຜິດພາດມາດຕະຖານແລະກັບຄືນກັບສະຖານະການການທ່ອງທ່ຽວສູງກວ່າ 0.
SYNOPSIS
setfacl [-bkndRLPvh] [{-m | -x} acl_spec] [{-M | -X} acl_file] file
setfacl -restore = file
PERMISSIONS
ເຈົ້າຂອງໄຟລ໌ແລະຂະບວນການທີ່ສາມາດ CAP_FOWNER ໄດ້ຮັບສິດທີ່ຈະແກ້ໄຂ ACLs ຂອງໄຟລ໌. ນີ້ແມ່ນຄ້າຍຄືກັບສິດທີ່ຕ້ອງການສໍາລັບການເຂົ້າເຖິງຮູບແບບໄຟລ໌. (ໃນລະບົບ Linux ປັດຈຸບັນ, ຮາກແມ່ນຜູ້ໃຊ້ດຽວກັບຄວາມສາມາດ CAP_FOWNER.)
OPTIONS
-b, - remove-all
ດຶງເອົາບັນຊີ ACL ທັງຫມົດອອກ. ບັນດາເອກະສານ ACL ຖານຂອງເຈົ້າຂອງ, ກຸ່ມແລະຄົນອື່ນແມ່ນຖືກເກັບໄວ້.
-k, - remove-default
ເອົາ ACL ມາດຕະຖານອອກ. ຖ້າບໍ່ມີ ACL ມາດຕະຖານ, ບໍ່ມີການເຕືອນໃດໆ.
-n, --no-mask
ຢ່າປະຕິເສດຄືນຫນ້າກາກສິດທິປະສິດຕິພາບ. ພຶດຕິກໍາຕົວຕັ້ງຄ່າຂອງ setfacl ແມ່ນເພື່ອ recalculate ການໃສ່ຫນ້າກາກ ACL, ເວັ້ນເສຍແຕ່ວ່າການໃສ່ຫນ້າກາກໄດ້ຖືກລະບຸຢ່າງຊັດເຈນ. ການໃສ່ຫນ້າກາກແມ່ນກໍານົດໃຫ້ສະຫະພາບການອະນຸຍາດທັງຫມົດຂອງກຸ່ມທີ່ເປັນເຈົ້າຂອງ, ແລະທັງຫມົດຊື່ຜູ້ໃຊ້ແລະລາຍການກຸ່ມ. (ເຫຼົ່ານີ້ແມ່ນຂໍ້ມູນທີ່ແນ່ນອນທີ່ໄດ້ຮັບຜົນກະທົບຈາກຫນ້າກາກ).
--ຫນ້າກາກ
ເຮັດ recalculate ຫນ້າກາກສິດທິປະສິດຕິຜົນ, ເຖິງແມ່ນວ່າການໃສ່ຫນ້າກາກ ACL ໄດ້ຖືກແຈ້ງຢ່າງຊັດເຈນ. (ເບິ່ງທາງເລືອກ -n ).
-d, --default
ກິດຈະກໍາທັງຫມົດແມ່ນໃຊ້ກັບ ACL Default. ລາຍການ ACL ປົກກະຕິໃນຊຸດປະກອບໃສ່ການສົ່ງເສີມການເຂົ້າ ACL Default. ລາຍະການ ACL ມາດຕະຖານໃນຊຸດປະກອບໄດ້ຖືກຍົກເລີກ. (ການເຕືອນໄພແມ່ນອອກຖ້າວ່າມັນເກີດຂຶ້ນ).
--restore = ໄຟລ໌
ການຟື້ນຟູການອະນຸຍາດການອະນຸຍາດສ້າງໂດຍ `getfacl -R 'ຫຼືຄ້າຍຄືກັນ. ການອະນຸຍາດທັງຫມົດຂອງ subtree ໄດເລກະທໍລີຄົບຖ້ວນຖືກຟື້ນຟູໂດຍໃຊ້ກົນໄກນີ້. ຖ້າຂໍ້ມູນປະກອບມີຄໍາເຫັນຂອງເຈົ້າຂອງຫຼືຄໍາເຫັນຂອງກຸ່ມ, ແລະ setfacl ແມ່ນໃຊ້ໂດຍຮາກ, ເຈົ້າຂອງແລະກຸ່ມເຈົ້າຂອງໄຟລ໌ທັງຫມົດຈະຖືກຟື້ນຟູຄືນໃຫມ່ອີກ. ຕົວເລືອກນີ້ບໍ່ສາມາດຖືກປະສົມກັບຕົວເລືອກອື່ນໆນອກຈາກ `--test '.
-test
ໂຫມດການທົດສອບ. ແທນທີ່ຈະປ່ຽນ ACLs ຂອງໄຟລ໌ໃດໆ, ACLs ຜົນໄດ້ຮັບແມ່ນໄດ້ລະບຸ.
-R, --recursive
ສະຫມັກວຽກກັບໄຟລ໌ແລະໄດເລກະທໍລີທັງຫມົດ. ຕົວເລືອກນີ້ບໍ່ສາມາດຖືກປະສົມກັບ `--restore '.
-L, -logical
ຍ່າງຕາມເຫດຜົນ, ປະຕິບັດຕາມການເຊື່ອມໂຍງສັນຍາລັກ. ພຶດຕິກໍາຕົ້ນຕໍແມ່ນການປະຕິບັດຕາມການໂຕ້ຖຽງການເຊື່ອມໂຍງແບບສັນຍາລັກ, ແລະເພື່ອຂ້າມການເຊື່ອມຕໍ່ສັນຍາລັກທີ່ພົບໃນ subdirectories. ຕົວເລືອກນີ້ບໍ່ສາມາດຖືກປະສົມກັບ `--restore '.
-P, - physics
ການຍ່າງທາງທາງດ້ານຮ່າງກາຍ, ຂ້າມການເຊື່ອມຕໍ່ສັນຍາລັກທັງຫມົດ. ນີ້ຍັງຂ້າມຂໍ້ໂຕ້ແຍ້ງການເຊື່ອມໂຍງແບບສັນຍາລັກ. ຕົວເລືອກນີ້ບໍ່ສາມາດຖືກປະສົມກັບ `--restore '.
- ການປ່ຽນແປງ
ພິມຮຸ່ນຂອງ setfacl ແລະອອກ.
--help
ພິມຊ່ວຍອະທິບາຍຕົວເລືອກເສັ້ນທາງຄໍາສັ່ງ.
ຕົວເລືອກ end of command line ຕົວກໍານົດທີ່ຍັງເຫຼືອທັງຫມົດແມ່ນໄດ້ຖືກຕີຄວາມເປັນຊື່ໄຟລ໌, ເຖິງແມ່ນວ່າພວກເຂົາເລີ່ມຕົ້ນດ້ວຍ dash.
ຖ້າພາລາມິເຕີຊື່ແຟ້ມເປັນ dash ດຽວ, setfacl ຈະອ່ານລາຍະການຂອງໄຟລ໌ຈາກ input ແບບມາດຕະຖານ.
ACL ENTRIES
ຍູທິລິຕີ້ setfacl ໄດ້ຮັບຮູ້ຮູບແບບການເຂົ້າ ACL ຕໍ່ໄປນີ້ (ຊ່ອງຫວ່າງໃສ່ສໍາລັບຄວາມຊັດເຈນ):
[d [efault]:] [u [ser]:] uid [: perms ]
ການອະນຸຍາດຂອງຜູ້ໃຊ້ຊື່. ການອະນຸຍາດຂອງເຈົ້າຂອງໄຟລ໌ຖ້າ uid ຫວ່າງເປົ່າ.
[d [efault]:] g [roup]: gid [: perms ]
ການອະນຸຍາດຂອງກຸ່ມທີ່ມີຊື່. ສິດຂອງກຸ່ມທີ່ເປັນເຈົ້າຂອງຖ້າ gid ຫວ່າງເປົ່າ.
[d [efault]:] m [ask] [:] [: perms ]
ຫນ້າກາກສິດທິປະສິດທິພາບ
[d [efault]:] o [ther] [:] [: perms ]
ການອະນຸຍາດຂອງຄົນອື່ນ.
ຊ່ອງຫວ່າງລະຫວ່າງອັກຂະລະ delimiter ແລະລັກສະນະທີ່ບໍ່ແມ່ນຕົວຊີ້ບອກແມ່ນຖືກລະເວັ້ນ.
ລາຍະການ ACL ທີ່ເຫມາະສົມລວມທັງການອະນຸຍາດຖືກນໍາໃຊ້ໃນການດັດແກ້ແລະກໍານົດການດໍາເນີນງານ. (ຕົວເລືອກ -m , M , --set ແລະ --set-file ). ລາຍການທີ່ບໍ່ມີພາກສະຫນາມ perms ຖືກນໍາໃຊ້ສໍາລັບ ການລຶບ ລາຍການ (ຕົວເລືອກ -x ແລະ -X ).
ສໍາລັບ uid ແລະ gid ທ່ານສາມາດກໍານົດທັງຊື່ຫຼືເລກ.
ພາກສະຫນາມ perms ແມ່ນການປະສົມປະສານຂອງຕົວອັກສອນທີ່ຊີ້ບອກເຖິງການອະນຸຍາດ: ອ່ານ (r) , ຂຽນ (w) , ປະຕິບັດ (x) , ປະຕິບັດພຽງແຕ່ຖ້າໄຟລ໌ເປັນໄດເລກະທໍລີຫຼືມີການອະນຸຍາດແລ້ວສໍາລັບຜູ້ໃຊ້ບາງຄົນ (X) . ອີກທາງຫນຶ່ງ, ພາກສະຫນາມ perms ສາມາດເປັນຕົວເລກແປດ (0-7).
AUTOMATICALLY CREATED ENTRIES
ໃນເບື້ອງຕົ້ນ, ໄຟລ໌ແລະລາຍຊື່ບັນຈຸມີພຽງແຕ່ສາມເອກະສານ ACL ຖານສໍາລັບເຈົ້າຂອງ, ກຸ່ມ, ແລະອື່ນໆ. ມີກົດລະບຽບຈໍານວນຫນຶ່ງທີ່ຈໍາເປັນຕ້ອງພໍໃຈເພື່ອໃຫ້ ACL ສາມາດໃຊ້ໄດ້:
*
ບໍ່ສາມາດລຶບຂໍ້ມູນສາມຖານ. ຕ້ອງມີຢ່າງແທ້ຈິງຫນຶ່ງໃນລາຍການຂອງແຕ່ລະປະເພດຂອງບັນດາພື້ນຖານເຫຼົ່ານີ້.
*
ເມື່ອໃດກໍ່ຕາມ ACL ມີບັນດາຜູ້ໃຊ້ຊື່ທີ່ມີຊື່ຫຼືວັດຖຸກຸ່ມທີ່ຖືກຕັ້ງຊື່, ມັນຕ້ອງມີຫນ້າປົກສິດທິປະສິດທິພາບ.
*
ເມື່ອໃດກໍ່ຕາມ ACL ມີຂໍ້ມູນ ACL Default ໃດຫນຶ່ງ, ສາມຖານຂໍ້ມູນຖານ ACL Default (ເຈົ້າຂອງ Default, ກຸ່ມ Default ແລະອື່ນ ໆ ) ຕ້ອງມີຢູ່ແລ້ວ.
*
ເມື່ອໃດກໍ່ຕາມ ACL ມາດຕະຖານມີບັນດາຜູ້ໃຊ້ທີ່ຖືກລະບຸຊື່ຫຼືກຸ່ມທີ່ຕັ້ງຊື່ກຸ່ມ, ມັນກໍ່ຕ້ອງມີຫນ້າປົກປ້ອງສິດທິໃນຕອນຕົ້ນ.
ເພື່ອຊ່ວຍໃຫ້ຜູ້ໃຊ້ຮັບປະກັນກົດລະບຽບເຫຼົ່ານີ້, setfacl ສ້າງລາຍການຈາກລາຍະການທີ່ມີຢູ່ພາຍໃຕ້ເງື່ອນໄຂດັ່ງຕໍ່ໄປນີ້:
*
ຖ້າ ACL ມີຜູ້ໃຊ້ທີ່ມີຊື່ຫຼືລາຍຊື່ກຸ່ມທີ່ມີຊື່, ແລະບໍ່ມີລາຍການຫນ້າກາກໃດໆ, ມີຫນ້າກາກທີ່ມີສິດອະນຸຍາດດຽວກັນກັບການສ້າງກຸ່ມ. ເວັ້ນເສຍແຕ່ວ່າທາງເລືອກ -n ໄດ້ຖືກມອບໃຫ້, ການອະນຸຍາດຂອງການໃສ່ຫນ້າກາກແມ່ນຖືກດັດແປງຕື່ມອີກເພື່ອປະກອບມີສະຫະພາບການອະນຸຍາດທັງຫມົດທີ່ໄດ້ຮັບຜົນກະທົບຈາກຫນ້າກາກ. (ເບິ່ງລາຍລະອຽດຕົວເລືອກ -n ).
*
ຖ້າລາຄາ ACL ເລີ່ມຕົ້ນຖືກສ້າງຂຶ້ນແລະ ACL ມາດຕະຖານບໍ່ມີຜູ້ເປັນເຈົ້າຂອງ, ກຸ່ມທີ່ເປັນເຈົ້າຂອງ, ຫຼືການເຂົ້າອື່ນ, ສໍາເນົາຂອງເຈົ້າຂອງ ACL, ກຸ່ມທີ່ເປັນເຈົ້າຂອງ, ຫຼືລາຍະການອື່ນຈະຖືກເພີ່ມເຂົ້າ ACL Default.
*
ຖ້າ ACL ມາດຕະຖານມີລາຍຊື່ຜູ້ໃຊ້ທີ່ຖືກລະບຸຊື່ຫຼືລາຍຊື່ກຸ່ມທີ່ມີຊື່, ແລະບໍ່ມີລາຍການຫນ້າກາກໃດກໍ່ຕາມ, ມີຫນ້າກາກທີ່ມີສິດອະນຸຍາດດຽວກັນກັບລາຄາກຸ່ມ Default Default ຂອງ ACL. ເວັ້ນເສຍແຕ່ວ່າທາງເລືອກ -n ໄດ້ຖືກມອບໃຫ້, ການອະນຸຍາດຂອງການໃສ່ຫນ້າກາກແມ່ນຖືກດັດແປງຕື່ມອີກເພື່ອໃຫ້ລວມເຖິງການອະນຸຍາດທັງຫມົດທີ່ໄດ້ຮັບຜົນກະທົບຈາກຫນ້າກາກ. (ເບິ່ງລາຍລະອຽດຕົວເລືອກ -n ).
ຕົວຢ່າງ
ໃຫ້ຜູ້ຊົມໃຊ້ເຂົ້າອ່ານອ່ານເພີ່ມເຕີມ
setfacl-mu: lisa: r file
ການຍົກເລີກການເຂົ້າເຖິງການຂຽນຈາກກຸ່ມທັງຫມົດແລະຜູ້ໃຊ້ທີ່ມີຊື່ທັງຫມົດ (ໃຊ້ຫນ້າປົກສິດທິປະສິດທິພາບ)
setfacl-mm :: rx file
ການກໍາຈັດລາຍຊື່ກຸ່ມທີ່ມີຊື່ຈາກ ACL ຂອງໄຟລ໌
setfacl-xg: staff file
ການຄັດລອກ ACL ຂອງໄຟລ໌ຫນຶ່ງໄປອີກ
getfacl file1 | setfacl -set-file = - file2
ການຄັດລອກ ACL ການເຂົ້າເຖິງໃນ ACL ມາດຕະຖານ
getfacl-a dir | setfacl -d -M-dir
ຂໍ້ຕະກະລົງກ່ຽວກັບມາດຕະຖານ POS31 1003.1 ບົດສະຫຼຸບ DRAFT STANDARD 17
ຖ້າຕົວປ່ຽນສິ່ງແວດລ້ອມ POSIXLY_CORRECT ຖືກກໍານົດ, ພຶດຕິກໍາຕົວຕັ້ງຄ່າຂອງ setfacl ປ່ຽນແປງດັ່ງຕໍ່ໄປນີ້: ຕົວເລືອກທີ່ບໍ່ແມ່ນມາດຕະຖານທັງຫມົດຖືກປິດໃຊ້ງານ. prefix `` default: '' ຖືກປິດໃຊ້ງານ. ທາງເລືອກ -x ແລະ -X ຍັງຍອມຮັບເອົາໃບອະນຸຍາດ (ແລະບໍ່ສົນໃຈໃຫ້ພວກເຂົາ).
ເບິ່ງຍັງ
umask (1),