ນີ້ແມ່ນຄໍາສັ່ງ dacsauth ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
dacsauth - ການກວດສອບຄວາມຖືກຕ້ອງ
ສະຫຼຸບສັງລວມ
dacsauth [-m auth-module-spec] [... ]-r roles-module-spec] [... ]-Ddirective=ມູນຄ່າ]
[-aux]
[-fj ນາມສະກຸນ] [-fn ຊື່ fed] [-h | -ຊ່ວຍ] [-id] [-ll ລະດັບບັນທຶກ]
[-p ລະຫັດຜ່ານ]
[-pf ເອກະສານ] [- ກະຕຸ້ນເຕືອນ] [-q] [{-u | - ຜູ້ໃຊ້} ຊື່ຜູ້ໃຊ້] [-v]
dacsauth-modules
ລາຍລະອຽດ
ໂຄງການນີ້ແມ່ນສ່ວນຫນຶ່ງຂອງ DACs ກ່ຽວກັບ.
ໄດ້ dacsauth ການທົດສອບຜົນປະໂຫຍດບໍ່ວ່າຈະເປັນອຸປະກອນການພິສູດຢືນຢັນທີ່ພໍໃຈກັບການກວດສອບຄວາມຖືກຕ້ອງ
ຄວາມຕ້ອງການແລະຊີ້ໃຫ້ເຫັນຜົນໄດ້ຮັບໂດຍຜ່ານສະຖານະການອອກຈາກຂະບວນການ. ມັນຄ້າຍຄືກັນກັບ
dacs_authenticate(8)[1] ແລະ dacscred(1)[2]
dacsauth ສະຫນອງວິທີການສໍາລັບການ scripts ແລະໂຄງການອື່ນໆທີ່ຈະນໍາໃຊ້ DACs ການກວດສອບ
ພື້ນຖານໂຄງລ່າງ. ພວກເຂົາອາດຈະໃຊ້ການພິສູດຢືນຢັນທີ່ປະສົບຜົນສໍາເລັດເປັນຮູບແບບຫຍາບໆ
ການອະນຸຍາດ; ພຽງແຕ່ຜູ້ໃຊ້ທີ່ໃຫ້ລະຫັດຜ່ານທີ່ຖືກຕ້ອງອາດຈະໄດ້ຮັບອະນຸຍາດໃຫ້ດໍາເນີນການ
ໂຄງການ, ສໍາລັບການຍົກຕົວຢ່າງ. ຫຼືເຂົາເຈົ້າອາດຈະສົ່ງຄືນບາງປະເພດຂອງຂໍ້ມູນປະຈໍາຕົວຫຼັງຈາກສໍາເລັດ
ການກວດສອບຄວາມຖືກຕ້ອງ, ຫຼືບາງທີອາດໃຊ້ dacs_auth_agent(8)[3] ກັບຄືນ DACs ຂໍ້ມູນປະ ຈຳ ຕົວ.
dacsauth ຍັງສາມາດຖືກນໍາໃຊ້ເພື່ອດຶງຂໍ້ມູນບົດບາດທີ່ກ່ຽວຂ້ອງກັບຜູ້ໃຊ້ທີ່ໃຫ້.
dacsauth ບໍ່ໄດ້ອ່ານໃດໆ DACs ໄຟລ໌ການຕັ້ງຄ່າ. ທຸກສິ່ງທຸກຢ່າງທີ່ຈໍາເປັນເພື່ອປະຕິບັດການທົດສອບ
ຕ້ອງໄດ້ຮັບການລະບຸວ່າເປັນການໂຕ້ຖຽງ.
ເຄັດລັບ
If dacsauth ໃຊ້ໂມດູນໃນຕົວເພື່ອປະຕິບັດການກວດສອບ, ຫຼືຊອກຫາບົດບາດ, no
ເຄື່ອງແມ່ຂ່າຍ ອົງປະກອບ is ທີ່ກໍານົດໄວ້. ນີ້ຫມາຍຄວາມວ່າທ່ານສາມາດນໍາໃຊ້ dacsauth ໂດຍບໍ່ມີການມີ
ເຂົ້າເຖິງຫຼືແມ້ກະທັ້ງ configure web server, ລວມທັງ Apache.
OPTIONS
ທຸງແຖວຄໍາສັ່ງຕໍ່ໄປນີ້ຖືກຮັບຮູ້. ຢ່າງຫນ້ອຍຫນຶ່ງ -m ທຸງ (ເພື່ອປະຕິບັດ
ການທົດສອບການກວດສອບຄວາມຖືກຕ້ອງ), ຫຼືຢ່າງຫນ້ອຍຫນຶ່ງ -r ຕ້ອງລະບຸທຸງ (ເພື່ອສ້າງບົດບາດ
ສະຕຣິງ descriptor ສໍາລັບຕົວຕົນແລະພິມມັນໄປ stdout). ການປະສົມປະສານຂອງທຸງທັງສອງແມ່ນ
ອະນຸຍາດໃຫ້, ໃນກໍລະນີສະຕຣິງຕົວອະທິບາຍບົດບາດແມ່ນຜົນຜະລິດໄດ້ພຽງແຕ່ຖ້າຫາກວ່າການທົດສອບການກວດສອບ
ແມ່ນສົບຜົນສໍາເລັດ.
-Ddirective=ມູນຄ່າ
ນີ້ແມ່ນເທົ່າກັບການຕັ້ງຄ່າ directive, ທົ່ວໄປ DACs ທິດທາງການຕັ້ງຄ່າ, to
ມູນຄ່າ, ທະເລສາບ dacs.conf(5)[4]
-aux
ສະຕຣິງຕໍ່ໄປສະຫນອງໃຫ້ໂດຍ -p, -pf, ຫຼື - ກະຕຸ້ນເຕືອນ ທຸງຈະເປັນມູນຄ່າຂອງ
ຜູ້ຊ່ວຍ ການໂຕ້ຖຽງການພິສູດຢືນຢັນ. ນີ້ສະຫນອງວິທີການທີ່ປອດໄພທີ່ຈະຜ່ານຄວາມອ່ອນໄຫວ
ຂໍ້ມູນຊ່ວຍເຫຼືອ, ເຊັ່ນ: PIN, ກັບໂຄງການ. ທຸງເພື່ອຮັບລະຫັດຜ່ານ,
ຖ້າມີ, ຕ້ອງນຳໜ້າທຸງນີ້ຢູ່ໃນແຖວຄຳສັ່ງ.
-fj ນາມສະກຸນ
ການນໍາໃຊ້ ນາມສະກຸນ, ທີ່ຈະຕ້ອງຖືກຕ້ອງ syntactically, ເປັນຊື່ອໍານາດຕັດສິນ. ຖ້າຕ້ອງການ
ແຕ່ບໍ່ໄດ້ສະຫນອງໃຫ້, ມູນຄ່າທີ່ມາຈາກຊື່ໂດເມນຂອງເຈົ້າພາບຈະຖືກນໍາໃຊ້.
-fn ຊື່ fed
ການນໍາໃຊ້ ຊື່ fed, ທີ່ຈະຕ້ອງຖືກຕ້ອງ syntactically, ເປັນຊື່ສະຫະພັນ. ຖ້າຕ້ອງການ
ແຕ່ບໍ່ໄດ້ສະຫນອງໃຫ້, ມູນຄ່າທີ່ມາຈາກຊື່ໂດເມນຂອງເຈົ້າພາບຈະຖືກນໍາໃຊ້.
-h
-ຊ່ວຍ
ສະແດງຂໍ້ຄວາມຊ່ວຍເຫຼືອ ແລະອອກ.
-id
ຖ້າສຳເລັດ, ພິມໃບຮັບຮອງຄວາມຖືກຕ້ອງ DACs ຕົວຕົນຕໍ່ກັບຜົນຜະລິດມາດຕະຖານ.
-ll ລະດັບບັນທຶກ
ກໍານົດລະດັບຜົນຜະລິດ debugging ເປັນ ລະດັບບັນທຶກ (ເບິ່ງ dacs(1)[5]). ລະດັບເລີ່ມຕົ້ນແມ່ນ
ເຕືອນ.
-m auth-module-spec
ແຕ່ລະປະເພດຂອງການທົດສອບການພິສູດຢືນຢັນທີ່ຕ້ອງການແມ່ນອະທິບາຍໂດຍ auth-module-spec
ທີ່ທັນທີປະຕິບັດຕາມ -m ທຸງ. ແຕ່ລະ auth-module-spec ເປັນສິ່ງ ຈຳ ເປັນ
ຕົວແທນສະຫຼັບຂອງ Auth clause[6] ແລະຄໍາແນະນໍາຂອງຕົນ, ທີ່ຖືກນໍາໃຊ້ໂດຍ
dacs_authenticate(8)[1]. ເຊັ່ນດຽວກັບຄໍາສັ່ງທີ່ Auth clauses ປາກົດຢູ່ໃນ a DACs
ໄຟລ໌ການຕັ້ງຄ່າ, ຄໍາສັ່ງທີ່ -m ທຸງປະກົດວ່າອາດຈະມີຄວາມສໍາຄັນ,
ຂຶ້ນກັບ ການຄວບຄຸມ ຄໍາສໍາຄັນ. ໃນລະຫວ່າງການປຸງແຕ່ງ, ສືບຕໍ່ -m ອົງປະກອບແມ່ນ
ການມອບຫມາຍຊື່ອັດຕະໂນມັດ, auth_module_1, auth_module_2, ແລະອື່ນໆ, ຕົ້ນຕໍແມ່ນສໍາລັບ
ຈຸດປະສົງລາຍງານຄວາມຜິດພາດ.
An auth-module-spec ມີ syntax ດັ່ງຕໍ່ໄປນີ້:
ໄດ້ ໂມດູນ ເລີ່ມຕົ້ນດ້ວຍຊື່ຂອງໂມດູນໃນຕົວ, ຫຼືຕົວຫຍໍ້ທີ່ຖືກຕ້ອງ
ອັນນັ້ນ, ຫຼື URL (ຢ່າງແທ້ຈິງ) ຂອງໂມດູນການພິສູດຢືນຢັນພາຍນອກ (ເທົ່າກັບ
ໄດ້ URL[7] ຄໍາສັ່ງ). ຕໍ່ໄປຈະຕ້ອງປາກົດເປັນຄໍາທີ່ໃຊ້ຮູບແບບການພິສູດຢືນຢັນທີ່ຖືກຮັບຮູ້
ຕົວລະບຸ (ທຽບເທົ່າກັບ STYLE[8] ຄໍາສັ່ງ). ຕໍ່ໄປ, ໄດ້ ການຄວບຄຸມ ຄໍາສໍາຄັນດັ່ງຕໍ່ໄປນີ້,
ເຊິ່ງແມ່ນຄືກັນກັບ ການຄວບຄຸມ[9] ຄໍາສັ່ງໃນຂໍ້ Auth. ຫຼັງຈາກ ການຄວບຄຸມ
ຄໍາສໍາຄັນ, ທຸງທີ່ອະທິບາຍຂ້າງລຸ່ມນີ້ອາດຈະປະຕິບັດຕາມ, ໃນຄໍາສັ່ງໃດກໍ່ຕາມ.
An auth-module-spec ສິ້ນສຸດເມື່ອທຸງທີ່ບໍ່ຖືກຕ້ອງທໍາອິດ (ຫຼືສິ້ນສຸດຂອງທຸງ) ແມ່ນ
ພົບ.
ໄດ້ -O ທຸງແມ່ນເທົ່າກັບ ທາງເລືອກ[10] ຄໍາສັ່ງ.
ໄດ້ -ຂອງ ທຸງແມ່ນຕິດຕາມດ້ວຍ argument ທີ່ເປັນຊື່ຂອງໄຟລ໌ທີ່ຈະອ່ານ
ທາງເລືອກ, ຫນຶ່ງຕໍ່ແຖວ, ໃນຮູບແບບ ຊື່=ມູນຄ່າ. ເສັ້ນເປົ່າແລະເສັ້ນເລີ່ມຕົ້ນດ້ວຍ
a '#' ຖືກລະເລີຍ; ໃຫ້ສັງເກດວ່າເສັ້ນເຫຼົ່ານີ້ບໍ່ໄດ້ເລີ່ມຕົ້ນດ້ວຍ "-O" ແລະວົງຢືມແມ່ນງ່າຍດາຍ
ຄັດລອກແລະບໍ່ໄດ້ຕີຄວາມຫມາຍ. ໄດ້ -ຂອງ ທຸງສາມາດຖືກນໍາໃຊ້ເພື່ອຫຼີກເວັ້ນການໃສ່ລະຫັດຜ່ານ
ເສັ້ນຄໍາສັ່ງແລະເຮັດໃຫ້ມັນງ່າຍຂຶ້ນທີ່ຈະຂຽນສໍານວນທີ່ຈະມີຖ້າບໍ່ດັ່ງນັ້ນ
ການຫລົບຫນີຢ່າງລະມັດລະວັງເພື່ອປ້ອງກັນການຕີຄວາມຫມາຍໂດຍແກະ, ສໍາລັບການຍົກຕົວຢ່າງ.
ໄດ້ -ຕົວຢ່າງ ທຸງແມ່ນທຽບເທົ່າກັບ ເອັນພີພີ[11] ຄໍາສັ່ງ. ໄດ້ -vfs ທຸງແມ່ນໃຊ້ເພື່ອ
configure VFS[12] ຄໍາແນະນໍາທີ່ຕ້ອງການໂດຍໂມດູນນີ້.
-ໂມດູນ
ສະແດງລາຍຊື່ຂອງໂມດູນການກວດສອບຕົວຕົນໃນຕົວແລະໂມດູນບົດບາດ, ຫນຶ່ງຕໍ່ແຖວ, ແລະ
ແລ້ວອອກ. ຊື່ໂມດູນ canonical ຖືກພິມ, ຕິດຕາມດ້ວຍສູນຫຼືຫຼາຍກວ່າທຽບເທົ່າ
ຕົວຫຍໍ້. ສໍາລັບໂມດູນການກວດສອບຄວາມຖືກຕ້ອງ, ຮູບແບບການພິສູດຢືນຢັນແມ່ນສະແດງ. ລາຍຊື່
ໂມດູນທີ່ມີຢູ່, ດໍາເນີນການຄໍາສັ່ງ:
% dacsauth -modules
ຊຸດຂອງການກວດສອບຕົວຕົນທີ່ມີ (ເປີດໃຊ້ງານ) ແລະໂມດູນບົດບາດແມ່ນຖືກກໍານົດ
ໃນເວລາທີ່ DACs ຖືກສ້າງຂຶ້ນ.
-p ລະຫັດຜ່ານ
ລະບຸລະຫັດຜ່ານທີ່ຈະໃຊ້ (ເທົ່າກັບ ປຊຊ ການໂຕ້ຖຽງກັບ
dacs_authenticate).
ຄວາມປອດໄພ
ລະຫັດຜ່ານທີ່ໃຫ້ຢູ່ໃນເສັ້ນຄໍາສັ່ງອາດຈະເຫັນໄດ້ໂດຍຜູ້ໃຊ້ອື່ນໆໃນແບບດຽວກັນ
ລະບົບ.
-pf ເອກະສານ
ອ່ານລະຫັດຜ່ານທີ່ຈະໃຊ້ຈາກ ເອກະສານ (ທຽບເທົ່າກັບ ປຊຊ ການໂຕ້ຖຽງກັບ
dacs_authenticate) ຖ້າຫາກວ່າ ເອກະສານ ແມ່ນ "-", ຫຼັງຈາກນັ້ນລະຫັດຜ່ານຈະຖືກອ່ານຈາກວັດສະດຸປ້ອນມາດຕະຖານ
ໂດຍບໍ່ມີການກະຕຸ້ນເຕືອນ.
- ກະຕຸ້ນເຕືອນ
ເຕືອນສໍາລັບລະຫັດຜ່ານແລະອ່ານມັນຈາກ stdin (ທຽບເທົ່າກັບ ປຊຊ ການໂຕ້ຖຽງກັບ
dacs_authenticate). ລະຫັດຜ່ານບໍ່ໄດ້ສະທ້ອນ.
-q
ງຽບຫຼາຍໂດຍການຫຼຸດລະດັບຜົນອອກຂອງການດີບັກ.
-r role-module-spec
ພາລະບົດບາດສໍາລັບ ຊື່ຜູ້ໃຊ້ ສາມາດຖືກກໍານົດໂດຍການໃຫ້ທຸງນີ້, ເຊິ່ງທັນທີທັນໃດ
ຕາມດ້ວຍ roles-module-spec. ໄດ້ -r ທຸງອາດຈະຖືກຊ້ໍາ, ແລະພາລະບົດບາດຜົນໄດ້ຮັບ
ຖືກລວມເຂົ້າກັນ. ແຕ່ລະ roles-module-spec ເປັນສິ່ງຈໍາເປັນເປັນຕົວແທນສະຫຼັບຂອງ a
ປະໂຫຍກພາລະບົດບາດທີ່ຖືກນໍາໃຊ້ໂດຍ dacs_authenticate(8)[13]. ສໍາເລັດ -r ອົງປະກອບແມ່ນ
ຊື່ທີ່ຖືກມອບຫມາຍ, roles_module_1, roles_module_2, ແລະອື່ນໆ, ສ່ວນໃຫຍ່ແມ່ນສໍາລັບການລາຍງານຄວາມຜິດພາດ.
ຈຸດປະສົງ.
A roles-module-spec ມີ syntax ດັ່ງຕໍ່ໄປນີ້:
ໄດ້ ໂມດູນ ອົງປະກອບແມ່ນທຽບເທົ່າກັບຂໍ້ຂອງພາລະບົດບາດ URL[14] ຄໍາສັ່ງແລະແມ່ນ
ທັງຊື່ຂອງໂມດູນບົດບາດທີ່ມີໃນຕົວ, ຕົວຫຍໍ້ທີ່ຖືກຕ້ອງຂອງມັນ,
ຫຼື URL (ຢ່າງແທ້ຈິງ) ຂອງໂມດູນບົດບາດພາຍນອກ.
ທຸງອາດຈະປະຕິບັດຕາມ ໂມດູນ ອົງປະກອບ, ໃນຄໍາສັ່ງໃດໆ. ກ roles-module-spec ສິ້ນສຸດເມື່ອ
ທຸງທີ່ບໍ່ຖືກຕ້ອງຄັ້ງທໍາອິດ (ຫຼືຈຸດສິ້ນສຸດຂອງທຸງ) ແມ່ນພົບ.
ໄດ້ -O ທຸງແມ່ນເທົ່າກັບ ທາງເລືອກ[10] ຄໍາສັ່ງ.
ໄດ້ -ຂອງ ທຸງແມ່ນຕິດຕາມດ້ວຍ argument ທີ່ເປັນຊື່ຂອງໄຟລ໌ທີ່ຈະອ່ານ
ທາງເລືອກ, ຫນຶ່ງຕໍ່ແຖວ, ໃນຮູບແບບ ຊື່=ມູນຄ່າ. ເສັ້ນເປົ່າແລະເສັ້ນເລີ່ມຕົ້ນດ້ວຍ
a '#' ຖືກລະເລີຍ; ໃຫ້ສັງເກດວ່າເສັ້ນເຫຼົ່ານີ້ບໍ່ໄດ້ເລີ່ມຕົ້ນດ້ວຍ "-O" ແລະວົງຢືມແມ່ນງ່າຍດາຍ
ຄັດລອກແລະບໍ່ໄດ້ຕີຄວາມຫມາຍ. ໄດ້ -ຂອງ ທຸງສາມາດຖືກນໍາໃຊ້ເພື່ອຫຼີກເວັ້ນການໃສ່ລະຫັດຜ່ານ
ເສັ້ນຄໍາສັ່ງແລະເຮັດໃຫ້ມັນງ່າຍຂຶ້ນທີ່ຈະຂຽນສໍານວນທີ່ຈະມີຖ້າບໍ່ດັ່ງນັ້ນ
ການຫລົບຫນີຢ່າງລະມັດລະວັງເພື່ອປ້ອງກັນການຕີຄວາມຫມາຍໂດຍແກະ, ສໍາລັບການຍົກຕົວຢ່າງ.
ໄດ້ -ຕົວຢ່າງ ທຸງແມ່ນທຽບເທົ່າກັບ ເອັນພີພີ[11] ຄໍາສັ່ງ. ໄດ້ -vfs ທຸງແມ່ນໃຊ້ເພື່ອ
configure VFS[12] ຄໍາແນະນໍາທີ່ຕ້ອງການໂດຍ ໂມດູນ.
-u ຊື່ຜູ້ໃຊ້
- ຜູ້ໃຊ້ ຊື່ຜູ້ໃຊ້
ຊື່ຜູ້ໃຊ້ເພື່ອພິສູດຢືນຢັນ (ເທົ່າກັບ USERNAME ການໂຕ້ຖຽງກັບ
dacs_authenticate). ຊື່ຜູ້ໃຊ້ນີ້ແມ່ນກ່ຽວຂ້ອງ implicitly ກັບປະສິດທິພາບ
ສະຫະພັນແລະສິດອຳນາດ (ເບິ່ງ -fn[15] ແລະ -fj[16] ທຸງ).
-v
ໄດ້ -v ທຸງຕຳລະດັບຜົນອອກຂອງການດີບັກເພື່ອດີບັກ ຫຼື (ຖ້າຊ້ຳໆ) ຕິດຕາມ.
ຕົວຢ່າງ
ຄວາມປອດໄພ
If dacsauth ໃຊ້ໂມດູນໃນຕົວເພື່ອປະຕິບັດການກວດສອບຄວາມຖືກຕ້ອງ, ມັນຕ້ອງດໍາເນີນການ setuid ຫຼື
setgid ທີ່ຈະໄດ້ຮັບສິດທິພິເສດພຽງພໍໃນການເຂົ້າເຖິງໄຟລ໌ລະຫັດຜ່ານທີ່ຕ້ອງການ (ດຽວກັນ
ເປັນຄວາມຈິງສໍາລັບໂມດູນບົດບາດທີ່ສ້າງຂຶ້ນໃນ). ຖ້າມັນໃຊ້ໂມດູນພາຍນອກ, ໂມດູນນັ້ນຈະ
ຈໍາເປັນຕ້ອງປະຕິບັດທີ່ມີສິດທິພຽງພໍໃນການເຂົ້າເຖິງ DACs ກະແຈເຂົ້າລະຫັດ,
ໂດຍສະເພາະ federation_keys ແລະອາດຈະເປັນ DACs ຫຼືໄຟລ໌ລະຫັດຜ່ານລະບົບ; ພາຍນອກ
ໂມດູນຫຼັງຈາກນັ້ນຈະຕ້ອງປະຕິບັດດ້ວຍສິດທິພິເສດພຽງພໍເພື່ອເຂົ້າເຖິງໄຟລ໌ໃດໆຂອງມັນ
ຮຽກຮ້ອງໃຫ້ມີ.
ໃຫ້ແນ່ໃຈວ່າໃຊ້ federation_keys ທີ່ຖືກຕ້ອງສໍາລັບສະຫະພັນຂອງເຈົ້າ. ການອ້າງອີງ
ໂມດູນການກວດສອບຄວາມຖືກຕ້ອງໃນສອງສະຫະພັນຫຼືຫຼາຍກວ່ານັ້ນອາດຈະບໍ່ເຮັດວຽກ.
dacsauth ດັ່ງນັ້ນບໍ່ຄວນດໍາເນີນການປົກກະຕິເປັນ UID ຂອງຜູ້ໃຊ້ທີ່ເອີ້ນມັນ
(ເວັ້ນເສຍແຕ່ວ່າມັນເກີດຂຶ້ນກັບຮາກ) ເພາະວ່າມັນຈະບໍ່ສາມາດເຂົ້າເຖິງຂໍ້ມູນໄດ້
ມັນຮຽກຮ້ອງໃຫ້ມີ. ນີ້ຍັງຈະປ້ອງກັນບໍ່ໃຫ້ຜູ້ໃຊ້ຈາກ "ການໂກງ" (ຕົວຢ່າງ, ໂດຍການຕິດກັບ
ແລ່ນໂມດູນກັບດີບັກ).
ຕົວຢ່າງນີ້ຢືນຢັນຜູ້ໃຊ້ "bobo" ດ້ວຍລະຫັດຜ່ານ "ທົດສອບ" ຕໍ່ກັບ DACs ໄຟລ໌ລະຫັດຜ່ານ
/usr/local/dacs/conf/passwd:
ຕ້ອງການ % dacsauth -m passwd passwd
-vfs "[passwds]dacs-kwv-fs:/usr/local/dacs/conf/passwd" -q -u bobo -p ການທົດສອບ
ຖ້າສະຖານະການອອກຂອງຄໍາສັ່ງແມ່ນສູນ, ການທົດສອບການພິສູດຢືນຢັນສໍາເລັດ, ຖ້າບໍ່ດັ່ງນັ້ນມັນ
ລົ້ມເຫຼວ.
ຕົວຢ່າງຕໍ່ໄປນີ້ພະຍາຍາມພິສູດ "bobo" ຕໍ່ກັບໄຟລ໌ລະຫັດຜ່ານ Unix ຂອງນາງ. ໄດ້
ໂປລແກລມ prompts ສໍາລັບລະຫັດຜ່ານ.
% dacsauth -m unix passwd ຕ້ອງການ -u bobo -prompt
ໃນຕົວຢ່າງຕໍ່ໄປ, dacsauth ພະຍາຍາມກວດສອບ "bobo" ຜ່ານ NTLM
winders.example.com:
% dacsauth -m ntlm passwd suff -OSAMBA_SERVER="winders.example.com" -prompt -u bobo
ຕົວຢ່າງນີ້ແມ່ນຄ້າຍຄືກັນກັບອັນທີ່ຜ່ານມາ, ຍົກເວັ້ນວ່າໂມດູນການກວດສອບພາຍນອກ
ຖືກນໍາໃຊ້ແລະລະຫັດຜ່ານຖືກອ່ານຈາກໄຟລ໌. ເນື່ອງຈາກວ່າໂມດູນພາຍນອກ, ເພີ່ມເຕີມ
ການຕັ້ງຄ່າຕ້ອງໄດ້ຮັບການສະຫນອງໃຫ້; ໂດຍສະເພາະ, ສະຖານທີ່ຂອງ federation_keys ແລະ
ຕ້ອງລະບຸຊື່ສະຫະພັນ ແລະສິດອຳນາດ.
% dacsauth -m https://example.example.com/cgi-bin/dacs/local_ntlm_authenticate \
passwd ພຽງພໍ -OSAMBA_SERVER="winders.example.com" \
-fn ຕົວຢ່າງ -fj FEDROOT -u bobo -pf mypass \
-DVFS="[federation_keys]dacs-fs:/usr/local/dacs/federations/example/federation_keys"
ການກວດສອບຄວາມຖືກຕ້ອງຕໍ່ກັບ ກູໂກ[17] ບັນຊີ [email protected], ຫນຶ່ງອາດຈະໃຊ້:
% dacsauth -m http passwd suff \
-OAUTH_URL="https://www.google.com/accounts/ClientLogin" \
-OUSERNAME_PARAMETER=ອີເມລ -OPASSWORD_PARAMETER=Passwd \
-Oservice=xapi -Osource=DSS-DACS-1.4 -prompt -u [email protected]
ໃນຕົວຢ່າງຕໍ່ໄປນີ້, ການສະແດງອອກໄດ້ຖືກປະເມີນເພື່ອກໍານົດວ່າການກວດສອບຄວາມຖືກຕ້ອງ
ຄວນຈະສໍາເລັດ. ຜູ້ໃຊ້ ("bobo") ຖືກເຕືອນສໍາລັບລະຫັດຜ່ານ. ພຽງແຕ່ຖ້າສາຍ "foo" ແມ່ນ
ການຢືນຢັນຈະສຳເລັດ. ຕົວຢ່າງທີ່ແທ້ຈິງຫຼາຍອາດຈະໂທຫາໂຄງການອື່ນເພື່ອ
ຊ່ວຍເຮັດໃຫ້ການຕັດສິນໃຈ, ສໍາລັບການຍົກຕົວຢ່າງ.
% dacsauth -m expr expr suffi \
-expr '${Args::PASSWORD} eq "foo" ? ${Args::USERNAME} : ""' -user bobo -prompt
ການກວດສອບຄວາມຖືກຕ້ອງຕໍ່ກັບ Apache htdigest ໄຟລ໌ລະຫັດຜ່ານແມ່ນປະຕິບັດດັ່ງຕໍ່ໄປນີ້
ຕົວຢ່າງ, ບ່ອນທີ່ລະຫັດຜ່ານຖືກອ່ານຈາກ stdin:
% echo "ທົດສອບ" | dacsauth -m apache ຍ່ອຍພຽງພໍ \
-OAUTH_MODULE=mod_auth_digest \
-OAUTH_FILE=/usr/local/apache2/conf/passwords.digest \
-OAUTH_REALM="DACS Digest Auth Area" \
-u bobo -pf -
ການພິສູດຢືນຢັນຜ່ານໂມດູນ PAM ເຮັດວຽກແຕກຕ່າງຈາກໂມດູນອື່ນໆ - ແລະມີຫຼາຍ
ຊັບຊ້ອນການນໍາໃຊ້ - ເນື່ອງຈາກວ່າ dacsauth ອາດຈະຈໍາເປັນຕ້ອງດໍາເນີນການຫຼາຍຄັ້ງ, ຂຶ້ນກັບສິ່ງທີ່
ຂໍ້ມູນ PAM ຕ້ອງການ. ແທນທີ່ຈະກັບຄືນການຕັດສິນໃຈແມ່ນ / ບໍ່ແມ່ນ, dacsauth ອາດຈະພິມ
prompts ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມທີ່ຈະ stdout. ກະລຸນາກວດເບິ່ງລາຍລະອຽດການດໍາເນີນງານທີ່ສະແດງຢູ່ໃນ
dacs_authenticate(8)[18] ແລະ pamd(8)[19] ກ່ອນທີ່ຈະພະຍາຍາມໃຊ້ໂມດູນນີ້.
ຕົວຢ່າງຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນການນໍາໃຊ້ໂມດູນຈາກເສັ້ນຄໍາສັ່ງ. ເມື່ອພື້ນຖານ
ແນວຄວາມຄິດແມ່ນເຂົ້າໃຈ, ມັນຄວນຈະໄດ້ຮັບການປາກົດຂື້ນວິທີການຂຽນ script ເພື່ອປະຕິບັດໄດ້
ຊ້ຳບໍ່ໜຳ. ລາຍລະອຽດໃນຕົວຢ່າງ, ເຊັ່ນ: ເສັ້ນທາງ, ອາດຈະຕ້ອງໄດ້ຮັບການປັບສໍາລັບ
ສະພາບແວດລ້ອມຂອງເຈົ້າ. ໃຫ້ສັງເກດວ່າໃນຕົວຢ່າງນີ້ຊື່ຜູ້ໃຊ້ບໍ່ໄດ້ລະບຸໄວ້ໃນຄັ້ງທໍາອິດ
dacsauth ແມ່ນດໍາເນີນການ, ເຖິງແມ່ນວ່າມັນອາດຈະເປັນຖ້າຫາກວ່າມັນເປັນທີ່ຮູ້ຈັກ.
% dacsauth -m pam ກະຕຸ້ນໃຫ້ພຽງພໍ \
-vfs "[federation_keys]dacs-fs:/usr/local/dacs/federations/dss/federation_keys" \
-OPAMD_HOST=localhost -OPAMD_PORT=dacs-pamd -fj ຕົວຢ່າງ -fn TEST
AUTH_PROMPT_VAR1="ເຂົ້າສູ່ລະບົບ:"
AUTH_TRANSID="10.0.0.124:57849:85748:9997c5588a6239e3"
% dacsauth -m pam ກະຕຸ້ນໃຫ້ພຽງພໍ \
-vfs "[federation_keys]dacs-fs:/usr/local/dacs/federations/dss/federation_keys" \
-OAUTH_PROMPT_VAR1="bobo" \
-OAUTH_TRANSID="10.0.0.124:57849:85748:9997c5588a6239e3"-fj EXAMPLE -fn TEST
AUTH_PROMPT_VAR2="ລະຫັດຜ່ານ:"
AUTH_TRANSID="10.0.0.124:52188:88417:5ffb0015f21ea546"
% dacsauth -m pam ກະຕຸ້ນໃຫ້ພຽງພໍ \
-vfs "[federation_keys]dacs-fs:/usr/local/dacs/federations/dss/federation_keys" \
-OAUTH_PROMPT_VAR2="apassword" \
-OAUTH_TRANSID="10.0.0.124:57849:85748:9997c5588a6239e3"-fj EXAMPLE -fn TEST
ຄັ້ງທໍາອິດ dacsauth ຖືກດໍາເນີນການໃນຕົວຢ່າງທີ່ມັນສົ່ງຄືນການເຕືອນສໍາລັບຊື່ຜູ້ໃຊ້
("ເຂົ້າສູ່ລະບົບ:") ທີ່ກ່ຽວຂ້ອງກັບຕົວແປການເຮັດທຸລະກໍາ AUTH_PROMPT_VAR1 ແລະ
ຕົວລະບຸການເຮັດທຸລະກໍາ (AUTH_TRANSID). ສຸດທ້າຍຕ້ອງຖືກຖ່າຍທອດໄປສູ່ອັນຕໍ່ມາ
ການປະຕິບັດຂອງ dacsauth. ໄລຍະທີສອງຂອງ dacsauth ຜ່ານຊື່ຜູ້ໃຊ້ ("bobo") ແລະ
ສົ່ງຄືນການເຕືອນອື່ນ ("ລະຫັດຜ່ານ:") ທີ່ກ່ຽວຂ້ອງກັບຕົວແປການເຮັດທຸລະກໍາ
AUTH_PROMPT_VAR2. ໄລຍະທີສາມຜ່ານລະຫັດຜ່ານ ("apassword") ແຕ່ບໍ່ມີການກະຕຸ້ນເຕືອນ
ກັບຄືນມາ, ຊີ້ໃຫ້ເຫັນວ່າກອງປະຊຸມສໍາເລັດແລະສະຖານະການອອກຈາກໂຄງການສະທ້ອນໃຫ້ເຫັນ
ຜົນໄດ້ຮັບຂອງການກວດສອບຄວາມຖືກຕ້ອງ.
ເຄັດລັບ
ບໍ່ວ່າຈະເປັນ dacsauth ຮຽກຮ້ອງໃຫ້ມີລະຫັດຜ່ານເພື່ອດຶງເອົາບົດບາດແມ່ນຂຶ້ນກັບບົດບາດໂດຍສະເພາະ
ໂມດູນຖືກນໍາໃຊ້. ສໍາລັບຕົວຢ່າງ, ລະຫັດຜ່ານແມ່ນບໍ່ຈໍາເປັນໂດຍ local_unix_roles[20] ຫລື
local_roles[21] ເພື່ອໃຫ້ໄດ້ຮັບພາລະບົດບາດ, ແຕ່ local_ldap_roles[22] ອາດຈະຕ້ອງການ a
ລະຫັດຜ່ານເພື່ອຜູກມັດກັບລະບົບແລະໄດ້ຮັບບົດບາດ.
ຕົວຢ່າງນີ້ພິມສາຍບົດບາດສໍາລັບຜູ້ໃຊ້ "bobo" ໂດຍການໂທຫາຕົວສ້າງ
local_unix_roles[20] ໂມດູນ:
% dacsauth -r unix -u bobo
bobo,wheel,www,ຜູ້ໃຊ້
ຕົວຢ່າງຕໍ່ໄປແມ່ນຄ້າຍຄືກັນກັບອັນທີ່ຜ່ານມາ, ຍົກເວັ້ນໂມດູນບົດບາດພາຍນອກຖືກນໍາໃຊ້:
% dacsauth -r https://example.example.com/cgi-bin/dacs/local_unix_roles \
-DVFS="[federation_keys]dacs-fs:/usr/local/dacs/federations/federation_keys" \
-fn ຕົວຢ່າງ -u bobo
bobo,wheel,www,ຜູ້ໃຊ້
ໂມດູນບົດບາດພາຍນອກອາດຈະຖືກປະຕິບັດຢູ່ໃນໂຮດອື່ນກ່ວາອັນທີ່ເຮັດວຽກ
dacsauth. ສະໜອງໃຫ້ dacsauth ໄດ້ຖືກຕິດຕັ້ງແລະໄຟລ໌ federation_keys ທີ່ກົງກັນ
ມີຢູ່ໃນໂຮດທ້ອງຖິ່ນ, ເຈົ້າພາບທ້ອງຖິ່ນບໍ່ຈໍາເປັນຕ້ອງເປັນ DACs ສິດອຳນາດ ຫຼືມີອັນໃດ
ອື່ນໆ DACs ການຕັ້ງຄ່າ
ຕົວຢ່າງຕໍ່ໄປນີ້ພິມອອກ ພາລະບົດບາດ string[23] ສໍາລັບຜູ້ໃຊ້ "bobo", ຮູ້ຈັກພາຍໃນ
ໄດເລກະທໍລີໂດຍຊື່ທົ່ວໄປ "Bobo Baggins", ໂດຍໃຊ້ (ພາຍນອກ) local_ldap_roles[22]
ໂມດູນແລະວິທີການຜູກມັດ "ໂດຍກົງ":
% dacsauth -r https://example.example.com/cgi-bin/dacs/local_ldap_roles \
-Of /usr/local/dacs/ldap_roles_options_direct -u "Bobo Baggins" \
-DVFS="[federation_keys]dacs-fs:/usr/local/dacs/federations/federation_keys" \
-fn ຕົວຢ່າງ -fj FEDROOT -prompt
DnsAdmins,Print_Operators,Domain_Admins,Administrators
ເນື່ອງຈາກວ່າມີທຸງຫຼາຍເກີນໄປທີ່ຈະຈັດວາງໄດ້ງ່າຍແລະຖືກຕ້ອງໃນບັນທັດຄໍາສັ່ງ, ໄດ້
ທາງເລືອກທີ່ຕ້ອງການເພື່ອເຮັດອັນນີ້ແມ່ນອ່ານຈາກໄຟລ໌ທີ່ລະບຸໄວ້ໂດຍ -ຂອງ ທຸງ.
ນີ້ຍັງສະຫນອງວິທີການທີ່ປອດໄພກວ່າທີ່ຈະຜ່ານລະຫັດຜ່ານໄປຫາໂຄງການ; ຮັບປະກັນການເຂົ້າເຖິງນັ້ນ
ໄຟລ໌ໄດ້ຖືກຈໍາກັດຢ່າງເຫມາະສົມ. ໄຟລ໌
/usr/local/dacs/ldap_roles_options_direct ອາດຈະມີການຕັ້ງຄ່າເຊັ່ນນີ້:
LDAP_BIND_METHOD=ໂດຍກົງ
LDAP_ADMIN_URL*="ldap://winders.example.com/CN=" . ເຂົ້າລະຫັດ(url,${Args::DACS_USERNAME}). ",CN=ຜູ້ໃຊ້,DC=ຕົວຢ່າງ,DC=com"
LDAP_ROLES_SELECTOR*="${LDAP::attrname}" eq "memberOf" ? strtr(ldap(rdn_attrvalue, \
ldap(dn_index, "${LDAP::attrvalue}", 1)), " ", "_"): ""
ຕົວຢ່າງຕໍ່ໄປນີ້ແມ່ນຄືກັບຕົວຢ່າງທີ່ຜ່ານມາ, ຍົກເວັ້ນວ່າມັນໃຊ້ການຜູກມັດ "ທາງອ້ອມ".
ວິທີການແລະດັ່ງນັ້ນຈຶ່ງບໍ່ຈໍາເປັນຕ້ອງໃຫ້ຊື່ທົ່ວໄປຂອງຜູ້ໃຊ້:
% dacsauth -r https://example.example.com/cgi-bin/dacs/local_ldap_roles \
-Of /usr/local/dacs/ldap_roles_options_indirect -u bobo \
-DVFS="[federation_keys]dacs-fs:/usr/local/dacs/federations/federation_keys" \
-fn ຕົວຢ່າງ -fj FEDROOT -p bobospassword
DnsAdmins,Print_Operators,Domain_Admins,Administrators
ໄຟລ໌ /usr/local/dacs/ldap_roles_options_indirect ອາດມີການຕັ້ງຄ່າເຊັ່ນ:
ນີ້:
LDAP_BIND_METHOD=ທາງອ້ອມ
LDAP_ADMIN_URL=ldap://winders.example.com/CN=Administrator,CN=Users,DC=example,DC=com
# ຄົ້ນຫາພາຍໃຕ້ຜູ້ໃຊ້ ...
LDAP_SEARCH_ROOT_DN=CN=ຜູ້ໃຊ້,DC=ຕົວຢ່າງ,DC=com
LDAP_ADMIN_PASSWORD=theSecretAdminPassword
LDAP_SEARCH_FILTER*="(sAMAccountName=${Args::DACS_USERNAME})"
LDAP_ROLES_SELECTOR*="${LDAP::attrname}" eq "memberOf" ? strtr(ldap(rdn_attrvalue, \
ldap(dn_index, "${LDAP::attrvalue}", 1)), " ", "_"): ""
ສົມມຸດວ່າຄົນຫນຶ່ງຕ້ອງການໃຊ້ dacsauth ເພື່ອພິສູດຢືນຢັນຜູ້ໃຊ້ຜ່ານ LDAP ໃນທາງທີ່ຄ້າຍຄືກັບ
ການຕັ້ງຄ່າ dacs.conf ນີ້:
URL "http://example.example.com/cgi-bin/dacs/local_ldap_authenticate"
STYLE "ລະຫັດຜ່ານ,add_roles"
ການຄວບຄຸມ "ຕ້ອງການ"
LDAP_BIND_METHOD "ໂດຍກົງ"
LDAP_USERNAME_URL* '"ldap://winders.example.com/cn=" . encode(url, ${Args::USERNAME}). ",cn=ຜູ້ໃຊ້,dc=ຕົວຢ່າງ,dc=local"'
LDAP_USERNAME_EXPR* '"${LDAP::sAMAccountName}"'
LDAP_ROLES_SELECTOR* '"${LDAP::attrname}" eq "memberOf" \
? strtr(ldap(rdn_attrvalue, ldap(dn_index, "${LDAP::attrvalue}", 1)), " ", "_"): ""'
ໄຟລ໌ແບບນີ້ (ເຊັ່ນ: /usr/local/dacs/ldap_auth_options_direct) ຈະມີ
ຄໍາແນະນໍາດັ່ງຕໍ່ໄປນີ້:
LDAP_BIND_METHOD=ໂດຍກົງ
LDAP_USERNAME_URL*="ldap://winders.example.com/cn=" . ເຂົ້າລະຫັດ(url, ${Args::USERNAME}). ",cn=ຜູ້ໃຊ້,dc=ຕົວຢ່າງ,dc=local"
LDAP_USERNAME_EXPR*="${LDAP::sAMAccountName}"
LDAP_ROLES_SELECTOR*="${LDAP::attrname}" eq "memberOf" \
? strtr(ldap(rdn_attrvalue, ldap(dn_index, "${LDAP::attrvalue}", 1)), " ", "_"): ""
ຫຼັງຈາກນັ້ນ, ການກວດສອບຄວາມຖືກຕ້ອງສາມາດຖືກປະຕິບັດໂດຍໃຊ້ຄໍາສັ່ງເຊັ່ນນີ້:
% dacsauth -fj FEDROOT -m http://example.example.com/cgi-bin/dacs/local_ldap_authenticate passwd suff \
-ຂອງ /usr/local/dacs/ldap_auth_options_direct \
-DVFS="[federation_keys]dacs-fs:/usr/local/dacs/federations/federation_keys" \
-fn ຕົວຢ່າງ -u bobo -prompt
ທິດສະດີວິທະຍາ
ໂປຣແກຣມຈະອອກຈາກ 0 ຖ້າການພິສູດຢືນຢັນສຳເລັດ ຫຼືດ້ວຍ 1 ຖ້າການພິສູດຢືນຢັນລົ້ມເຫລວ ຫຼື
ເກີດຄວາມຜິດພາດຂຶ້ນ.
ໃຊ້ dacsauth ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net