ຮຽນຮູ້ Linux command setfacl

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),