นี่คือคำสั่ง dacsauth ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
dacsauth - ตรวจสอบการพิสูจน์ตัวตน
เรื่องย่อ
แด็กซอธ [-m การรับรองความถูกต้องของโมดูลข้อมูลจำเพาะ--r บทบาท-โมดูล-spec--Dคำสั่ง=ความคุ้มค่า]
[-aux]
[-ฟจ ชื่อสกุล] [-ฉ ชื่อเฟด] [-h | -ช่วยด้วย] [-NS] [-NS log_level]
[-p รหัสผ่าน]
[-pf ไฟล์] [-พร้อมท์] [-q--u | ของผู้ใช้} ชื่อผู้ใช้] [-v]
dacsauth โมดูล
DESCRIPTION
โปรแกรมนี้เป็นส่วนหนึ่งของ ดีแคส บน
พื้นที่ แด็กซอธ ยูทิลิตี้ทดสอบว่าวัสดุการรับรองความถูกต้องที่ได้รับนั้นเป็นไปตามการรับรองความถูกต้องหรือไม่
ข้อกำหนดและระบุผลลัพธ์ผ่านสถานะการออกของกระบวนการ มันคล้ายกับ
dacs_authenticate(8)[1] และ daccred(1)[2]
แด็กซอธ เป็นช่องทางให้สคริปต์และโปรแกรมอื่นๆ ใช้ประโยชน์จาก ดีแคส การรับรอง
โครงสร้างพื้นฐาน พวกเขาอาจใช้การรับรองความถูกต้องสำเร็จเป็นรูปแบบหยาบของ
การอนุญาต; เฉพาะผู้ใช้ที่ให้รหัสผ่านที่ถูกต้องเท่านั้นจึงจะได้รับอนุญาตให้เรียกใช้
โปรแกรม เป็นต้น หรือพวกเขาอาจส่งคืนข้อมูลประจำตัวบางประเภทหลังจากประสบความสำเร็จ
การรับรองความถูกต้องหรืออาจใช้ dacs_auth_agent(8)[3] กลับมา ดีแคส หนังสือรับรอง
แด็กซอธ สามารถใช้เพื่อดึงข้อมูลบทบาทที่เกี่ยวข้องกับผู้ใช้ที่กำหนด
แด็กซอธ ไม่อ่านอะไรเลย ดีแคส ไฟล์การกำหนดค่า ทุกสิ่งที่จำเป็นสำหรับการทดสอบ
ต้องระบุเป็นอาร์กิวเมนต์
ปลาย
If แด็กซอธ ใช้โมดูลในตัวเพื่อดำเนินการรับรองความถูกต้องหรือค้นหาบทบาท ไม่
เซิร์ฟเวอร์ ส่วนประกอบ is จำเป็นต้องใช้. ซึ่งหมายความว่าคุณสามารถใช้ แด็กซอธ โดยไม่ต้อง
เข้าถึงหรือกำหนดค่าเว็บเซิร์ฟเวอร์ รวมถึง Apache
OPTIONS
รู้จักแฟล็กบรรทัดคำสั่งต่อไปนี้ อย่างน้อยหนึ่ง -m ธง (เพื่อดำเนินการ
การทดสอบการรับรองความถูกต้อง) หรืออย่างน้อยหนึ่ง -r ต้องระบุแฟล็ก (เพื่อสร้างบทบาท
descriptor string สำหรับข้อมูลประจำตัวและพิมพ์ไปที่ stdout) การรวมกันของทั้งสองแฟล็กคือ
ได้รับอนุญาต ซึ่งในกรณีนี้สตริงอธิบายบทบาทจะถูกส่งออกก็ต่อเมื่อการทดสอบการพิสูจน์ตัวตน
ประสบความสำเร็จ
-Dคำสั่ง=ความคุ้มค่า
เทียบเท่ากับการตั้งค่า คำสั่ง, นายพล ดีแคส คำสั่งการกำหนดค่า, ถึง
ความคุ้มค่า. ดู dacs.conf(5)[4]
-aux
สตริงถัดไปที่จัดเตรียมโดย -p, -pf,หรือ -พร้อมท์ ธงจะเป็นค่าของ
อุปกรณ์เสริม อาร์กิวเมนต์การรับรองความถูกต้อง นี่เป็นวิธีที่ปลอดภัยในการส่งต่อความละเอียดอ่อน
ข้อมูลเสริม เช่น PIN ไปยังโปรแกรม ธงเพื่อรับรหัสผ่าน
ถ้ามี ต้องนำหน้าแฟล็กนี้ในบรรทัดคำสั่ง
-ฟจ ชื่อสกุล
ใช้ ชื่อสกุลซึ่งต้องถูกต้องตามวากยสัมพันธ์ เป็นชื่อเขตอำนาจศาล ถ้าจำเป็น
แต่ไม่ระบุ ค่าที่ได้มาจากชื่อโดเมนของโฮสต์จะถูกนำมาใช้
-ฉ ชื่อเฟด
ใช้ ชื่อเฟดซึ่งต้องถูกต้องตามวากยสัมพันธ์ เป็นชื่อสหพันธรัฐ ถ้าจำเป็น
แต่ไม่ระบุ ค่าที่ได้มาจากชื่อโดเมนของโฮสต์จะถูกนำมาใช้
-h
-ช่วยด้วย
แสดงข้อความช่วยเหลือและออก
-NS
หากสำเร็จให้พิมพ์รับรองความถูกต้อง ดีแคส เอกลักษณ์ของเอาต์พุตมาตรฐาน
-NS log_level
ตั้งค่าระดับเอาต์พุตการดีบักเป็น log_level (ดู แดช(1)(5)) ระดับเริ่มต้นคือ
เตือน.
-m การรับรองความถูกต้องของโมดูลข้อมูลจำเพาะ
การทดสอบการรับรองความถูกต้องแต่ละประเภทที่ต้องการนั้นอธิบายโดย an การรับรองความถูกต้องของโมดูลข้อมูลจำเพาะ
ที่ตามทัน -m ธง. แต่ละ การรับรองความถูกต้องของโมดูลข้อมูลจำเพาะ เป็นหลัก
ตัวแทนสำรองของ an รับรองความถูกต้อง ประโยค[6] และคำสั่งที่ใช้โดย
dacs_authenticate(8)[1]. เช่นเดียวกับลำดับที่ส่วนคำสั่ง Auth ปรากฏใน a ดีแคส
ไฟล์การกำหนดค่า ลำดับที่ -m ธงที่ปรากฏอาจมีนัยสำคัญ
ขึ้นอยู่กับ ควบคุม คีย์เวิร์ด ระหว่างการประมวลผล ต่อเนื่อง -m ส่วนประกอบคือ
ชื่อที่กำหนดโดยอัตโนมัติ auth_module_1 auth_module_2 และอื่นๆ ส่วนใหญ่สำหรับ
วัตถุประสงค์ในการรายงานข้อผิดพลาด
An การรับรองความถูกต้องของโมดูลข้อมูลจำเพาะ มีไวยากรณ์ต่อไปนี้:
พื้นที่ โมดูล เริ่มต้นด้วยชื่อของโมดูลในตัวหรือตัวย่อที่ถูกต้อง
ดังกล่าวหรือ URL (สัมบูรณ์) ของโมดูลการพิสูจน์ตัวตนภายนอก (เทียบเท่ากับ
URL[7] คำสั่ง). ถัดไปจะต้องปรากฏคีย์เวิร์ดรูปแบบการรับรองความถูกต้องที่รู้จัก
ตัวระบุ (เทียบเท่ากับ สไตล์[8] คำสั่ง). ต่อไป ควบคุม คำหลักดังต่อไปนี้
ซึ่งเหมือนกับ ควบคุม[9] คำสั่งในประโยค Auth หลังจาก ควบคุม
คีย์เวิร์ด แฟล็กที่อธิบายด้านล่างอาจตามมาในลำดับใดก็ได้
An การรับรองความถูกต้องของโมดูลข้อมูลจำเพาะ สิ้นสุดเมื่อแฟล็กแรกที่ไม่ถูกต้อง (หรือจุดสิ้นสุดของแฟล็ก) คือ
ได้พบเจอ
พื้นที่ -O ค่าสถานะเทียบเท่ากับ an ทางเลือกที่[10] คำสั่ง
พื้นที่ -ของ flag ตามด้วยอาร์กิวเมนต์ที่เป็นชื่อของไฟล์ที่จะอ่าน
ตัวเลือก หนึ่งรายการต่อบรรทัด ในรูปแบบ ชื่อ=ความคุ้มค่า. บรรทัดว่างและบรรทัดที่ขึ้นต้นด้วย
'#' จะถูกละเว้น; โปรดทราบว่าบรรทัดเหล่านี้ไม่ได้ขึ้นต้นด้วย "-O" และเครื่องหมายคำพูดเป็นเพียง
คัดลอกและไม่ตีความ NS -ของ สามารถใช้แฟล็กเพื่อหลีกเลี่ยงการใส่รหัสผ่านได้
บรรทัดคำสั่งและทำให้ง่ายต่อการเขียนนิพจน์ที่อาจจะมี
ให้หลบหนีอย่างระมัดระวังเพื่อป้องกันการตีความโดยเปลือกเช่น
พื้นที่ - เม.ย. ธงเทียบเท่ากับ expr[11] คำสั่ง NS -vfs ธงใช้เพื่อ
กำหนดค่า วีเอฟเอส[12] คำสั่งที่จำเป็นสำหรับโมดูลนี้
- โมดูล
แสดงรายการโมดูลการพิสูจน์ตัวตนในตัวและโมดูลบทบาท หนึ่งรายการต่อบรรทัด และ
แล้วออก พิมพ์ชื่อโมดูลตามรูปแบบบัญญัติ ตามด้วยศูนย์หรือมากกว่าที่เทียบเท่า
ตัวย่อ สำหรับโมดูลการพิสูจน์ตัวตน รูปแบบการรับรองความถูกต้องจะปรากฏขึ้น ในรายการ
โมดูลที่มีอยู่ให้รันคำสั่ง:
% dacsauth -โมดูล
ชุดของโมดูลการพิสูจน์ตัวตนและบทบาทที่มีอยู่ (เปิดใช้งาน) ถูกกำหนด
เมื่อ ดีแคส ถูกสร้างขึ้น
-p รหัสผ่าน
ระบุรหัสผ่านที่จะใช้ (เทียบเท่ากับ รหัสผ่าน อาร์กิวเมนต์ถึง
dacs_authenticate).
Security
รหัสผ่านที่กำหนดในบรรทัดคำสั่งอาจปรากฏแก่ผู้ใช้รายอื่นบนเดียวกัน
ระบบ
-pf ไฟล์
อ่านรหัสผ่านเพื่อใช้จาก ไฟล์ (เทียบเท่ากับ รหัสผ่าน อาร์กิวเมนต์ถึง
dacs_authenticate) ถ้า ไฟล์ คือ "-" จากนั้นรหัสผ่านจะถูกอ่านจากอินพุตมาตรฐาน
โดยไม่ต้องแจ้ง
-พร้อมท์
ถามรหัสผ่านและอ่านจาก stdin (เทียบเท่ากับ รหัสผ่าน อาร์กิวเมนต์ถึง
dacs_authenticate). รหัสผ่านจะไม่ถูกสะท้อน
-q
เงียบยิ่งขึ้นด้วยการลดระดับเอาต์พุตการดีบัก
-r บทบาท-โมดูล-spec
บทบาทสำหรับ ชื่อผู้ใช้ สามารถกำหนดได้โดยให้ธงนี้ซึ่งทันที
ตามด้วย บทบาท-โมดูล-spec. -r ธงอาจถูกทำซ้ำและบทบาทที่เป็นผล
จะรวมกัน แต่ละ บทบาท-โมดูล-spec โดยพื้นฐานแล้วเป็นตัวแทนทางเลือกของa
ประโยคบทบาทที่ใช้โดย dacs_authenticate(8)[13]. ต่อเนื่อง -r ส่วนประกอบคือ
ชื่อที่กำหนด, roles_module_1, roles_module_2 และอื่นๆ ส่วนใหญ่ใช้สำหรับการรายงานข้อผิดพลาด
วัตถุประสงค์
A บทบาท-โมดูล-spec มีไวยากรณ์ต่อไปนี้:
พื้นที่ โมดูล องค์ประกอบเทียบเท่ากับประโยคของบทบาท URL[14] คำสั่งและเป็น
ไม่ว่าจะเป็นชื่อของโมดูลบทบาทที่มีอยู่แล้วในตัว ตัวย่อที่ถูกต้องของสิ่งนั้น
หรือ URL (สัมบูรณ์) ของโมดูลบทบาทภายนอก
ธงอาจเป็นไปตาม โมดูล องค์ประกอบในลำดับใด ๆ NS บทบาท-โมดูล-spec สิ้นสุดเมื่อ
พบแฟล็กที่ไม่ถูกต้องครั้งแรก (หรือจุดสิ้นสุดของแฟล็ก)
พื้นที่ -O ค่าสถานะเทียบเท่ากับ an ทางเลือกที่[10] คำสั่ง
พื้นที่ -ของ flag ตามด้วยอาร์กิวเมนต์ที่เป็นชื่อของไฟล์ที่จะอ่าน
ตัวเลือก หนึ่งรายการต่อบรรทัด ในรูปแบบ ชื่อ=ความคุ้มค่า. บรรทัดว่างและบรรทัดที่ขึ้นต้นด้วย
'#' จะถูกละเว้น; โปรดทราบว่าบรรทัดเหล่านี้ไม่ได้ขึ้นต้นด้วย "-O" และเครื่องหมายคำพูดเป็นเพียง
คัดลอกและไม่ตีความ NS -ของ สามารถใช้แฟล็กเพื่อหลีกเลี่ยงการใส่รหัสผ่านได้
บรรทัดคำสั่งและทำให้ง่ายต่อการเขียนนิพจน์ที่อาจจะมี
ให้หลบหนีอย่างระมัดระวังเพื่อป้องกันการตีความโดยเปลือกเช่น
พื้นที่ - เม.ย. ธงเทียบเท่ากับ expr[11] คำสั่ง NS -vfs ธงใช้เพื่อ
กำหนดค่า วีเอฟเอส[12] คำสั่งที่จำเป็นโดย โมดูล.
-u ชื่อผู้ใช้
ของผู้ใช้ ชื่อผู้ใช้
ชื่อผู้ใช้ที่จะตรวจสอบความถูกต้อง (เทียบเท่ากับ USERNAME อาร์กิวเมนต์ถึง
dacs_authenticate). ชื่อผู้ใช้นี้มีความเกี่ยวข้องโดยนัยกับชื่อที่มีประสิทธิภาพ
สหพันธ์และเขตอำนาจศาล (ดู -ฉ[15] และ -ฟจ[16] แฟล็ก).
-v
พื้นที่ -v แฟล็กกระแทกระดับเอาต์พุตการดีบักเพื่อดีบักหรือติดตาม (หากซ้ำ)
ตัวอย่าง
Security
If แด็กซอธ ใช้โมดูลในตัวเพื่อดำเนินการรับรองความถูกต้อง จะต้องเรียกใช้ setuid หรือ
setgid เพื่อรับสิทธิ์เพียงพอในการเข้าถึงไฟล์รหัสผ่านที่ต้องการ (เหมือนกัน
เป็นจริงสำหรับโมดูลบทบาทในตัว) หากใช้โมดูลภายนอก โมดูลนั้นจะ
ต้องดำเนินการด้วยสิทธิ์ที่เพียงพอในการเข้าถึง ดีแคส คีย์การเข้ารหัส,
โดยเฉพาะ federation_keys และอาจจะ ดีแคส หรือไฟล์รหัสผ่านระบบ ภายนอก
โมดูลจะต้องดำเนินการด้วยสิทธิ์ที่เพียงพอเพื่อเข้าถึงไฟล์ใด ๆ ที่มัน
ต้องใช้.
อย่าลืมใช้ federation_keys ที่ถูกต้องสำหรับการรวมกลุ่มของคุณ อ้างอิง
โมดูลการตรวจสอบความถูกต้องในสองกลุ่มขึ้นไปอาจจะไม่ทำงาน
แด็กซอธ ดังนั้นจึงไม่ควรรันตามปกติเป็น UID ของผู้ใช้ที่เรียกใช้มัน
(เว้นแต่จะเกิดเป็นรูท) เพราะจะไม่สามารถเข้าถึงข้อมูลได้
มันต้องการ. สิ่งนี้จะป้องกันผู้ใช้จากการ "โกง" (เช่น โดยแนบกับ
เรียกใช้โมดูลด้วยดีบักเกอร์)
ตัวอย่างนี้ตรวจสอบผู้ใช้ "bobo" ด้วยรหัสผ่าน "ทดสอบ" กับ ดีแคส ไฟล์รหัสผ่าน
/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 ของเธอ NS
โปรแกรมถามรหัสผ่าน
% dacsauth -m unix passwd จำเป็น -u bobo -prompt
ในตัวอย่างต่อไป แด็กซอธ พยายามตรวจสอบสิทธิ์ "bobo" ผ่าน NTLM on
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"
ในการตรวจสอบกับ Google[17] บัญชี [ป้องกันอีเมล]หนึ่งอาจใช้:
% dacsauth -m http passwd ต่อท้าย \
-OAUTH_URL="https://www.google.com/accounts/ClientLogin" \
-OUSERNAME_PARAMETER=อีเมล -OPASSWORD_PARAMETER=Passwd \
-Oservice=xapi -Osource=DSS-DACS-1.4 -พร้อมท์ -u [ป้องกันอีเมล]
ในตัวอย่างต่อไปนี้ นิพจน์จะถูกประเมินเพื่อตรวจสอบว่าการรับรองความถูกต้อง
ควรจะประสบความสำเร็จ ผู้ใช้ ("bobo") จะได้รับแจ้งให้ป้อนรหัสผ่าน เฉพาะในกรณีที่สตริง "foo" คือ
จะได้รับการตรวจสอบสำเร็จ ตัวอย่างที่สมจริงกว่านี้อาจเรียกโปรแกรมอื่นไปที่
ช่วยในการตัดสินใจเช่น
% dacsauth -m expr expr ต่อท้าย \
-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 โบโบ -pf -
การตรวจสอบสิทธิ์ผ่านโมดูล PAM ทำงานแตกต่างไปจากโมดูลอื่นๆ - และมีมากกว่านั้น
ซับซ้อนในการใช้งาน - เพราะ แด็กซอธ อาจต้องรันหลายครั้งขึ้นอยู่กับว่า
ข้อมูลที่ PAM ต้องการ แทนที่จะส่งคืนการตัดสินใจใช่/ไม่ใช่ แด็กซอธ อาจพิมพ์
แจ้งข้อมูลเพิ่มเติมเพื่อ stdout โปรดตรวจสอบรายละเอียดการดำเนินงานที่แสดงใน
dacs_authenticate(8)[18] และ แพม(8)[19] ก่อนพยายามใช้โมดูลนี้
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการใช้โมดูลจากบรรทัดคำสั่ง เมื่อพื้นฐาน
เข้าใจแนวคิดแล้ว ควรเขียนสคริปต์เพื่อดำเนินการอย่างไรให้ชัดเจน
การทำซ้ำที่จำเป็น รายละเอียดในตัวอย่าง เช่น เส้นทาง อาจต้องปรับเปลี่ยนเพื่อ
สภาพแวดล้อมของคุณ โปรดทราบว่าในตัวอย่างนี้ ชื่อผู้ใช้ไม่ได้ระบุในครั้งแรก
แด็กซอธ ถูกเรียกใช้ แม้ว่ามันอาจจะเป็นถ้ามันเป็นที่รู้จัก
% dacsauth -m pam แจ้งพอเพียง \
-vfs "[federation_keys]dacs-fs:/usr/local/dacs/federations/dss/federation_keys" \
-OPAMD_HOST=localhost -OPAMD_PORT=dacs-pamd -fj ตัวอย่าง -fn ทดสอบ
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="รหัสผ่าน" \
-OAUTH_TRANSID="10.0.0.124:57849:85748:9997c5588a6239e3"-fj EXAMPLE -fn TEST
ครั้งแรก แด็กซอธ ถูกเรียกใช้ในตัวอย่างซึ่งจะส่งคืนพรอมต์สำหรับชื่อผู้ใช้
("เข้าสู่ระบบ:") ที่เชื่อมโยงกับตัวแปรธุรกรรม AUTH_PROMPT_VAR1 และ
ตัวระบุธุรกรรม (AUTH_TRANSID). หลังต้องส่งต่อให้ภายหลัง
การประหารชีวิต แด็กซอธ. รอบที่สองของ แด็กซอธ ส่งชื่อผู้ใช้ ("bobo") และ
ส่งคืนพร้อมต์อื่น ("รหัสผ่าน:") ที่เชื่อมโยงกับตัวแปรธุรกรรม
AUTH_PROMPT_VAR2. การรันครั้งที่สามส่งรหัสผ่าน ("apassword") แต่ไม่มีพรอมต์คือ
กลับแสดงว่าเซสชั่นเสร็จสมบูรณ์และสถานะการออกของโปรแกรมสะท้อนให้เห็น
ผลลัพธ์ของการรับรองความถูกต้อง
ปลาย
ว่า แด็กซอธ ต้องใช้รหัสผ่านเพื่อดึงบทบาทขึ้นอยู่กับบทบาทเฉพาะ
โมดูลที่ใช้ ตัวอย่างเช่น รหัสผ่านไม่จำเป็นโดย local_unix_roles[20] หรือ
local_roles[21] เพื่อรับบทบาท แต่ local_ldap_roles[22] คงจะต้องการ
รหัสผ่านเพื่อผูกกับไดเร็กทอรีและรับบทบาท
ตัวอย่างนี้พิมพ์สตริงบทบาทสำหรับผู้ใช้ "bobo" โดยการเรียก built-in
local_unix_roles[20] โมดูล:
% dacsauth -r ยูนิกซ์ -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,ผู้ใช้
โมดูลบทบาทภายนอกอาจถูกดำเนินการบนโฮสต์อื่นที่ไม่ใช่โมดูลที่ทำงานอยู่
แด็กซอธ. ให้ แด็กซอธ ได้รับการติดตั้งและไฟล์ federation_keys ที่ตรงกันคือ
มีอยู่ในโฮสต์ท้องถิ่น โฮสต์ในพื้นที่ไม่จำเป็นต้องเป็น ดีแคส หรือมีอํานาจใด ๆ
อื่น ๆ ดีแคส องค์ประกอบ
ตัวอย่างต่อไปนี้จะพิมพ์ บทบาท เชือก[23] สำหรับผู้ใช้ "bobo" ที่รู้จักใน
ไดเรกทอรีตามชื่อสามัญ "Bobo Baggins" โดยใช้ (ภายนอก) local_ldap_roles[22]
โมดูลและวิธีการผูก "โดยตรง":
% dacsauth -r https://example.example.com/cgi-bin/dacs/local_ldap_roles \
-ของ /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}" เท่ากับ "memberOf" ? strtr(ldap(rdn_attrvalue, \
ldap(dn_index, "${LDAP::attrvalue}", 1)), " , "_") : ""
ตัวอย่างต่อไปนี้เหมือนกับตัวอย่างก่อนหน้า ยกเว้นว่าจะใช้การผูก "ทางอ้อม"
เมธอด ดังนั้นจึงไม่จำเป็นต้องระบุชื่อสามัญของผู้ใช้:
% dacsauth -r https://example.example.com/cgi-bin/dacs/local_ldap_roles \
-ของ /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=ผู้ดูแลระบบ,CN=Users,DC=example,DC=com
# ค้นหาภายใต้ผู้ใช้...
LDAP_SEARCH_ROOT_DN=CN=ผู้ใช้,DC=ตัวอย่าง,DC=com
LDAP_ADMIN_PASSWORD=รหัสผ่านลับผู้ดูแลระบบ
LDAP_SEARCH_FILTER*="(sAMAccountName=${Args::DACS_USERNAME})"
LDAP_ROLES_SELECTOR*="${LDAP::attrname}" เท่ากับ "memberOf" ? strtr(ldap(rdn_attrvalue, \
ldap(dn_index, "${LDAP::attrvalue}", 1)), " , "_") : ""
สมมติว่ามีคนต้องการใช้ แด็กซอธ เพื่อตรวจสอบสิทธิ์ผู้ใช้ผ่าน LDAP ในลักษณะที่คล้ายคลึงกับ
การกำหนดค่า dacs.conf นี้:
URL "http://example.example.com/cgi-bin/dacs/local_ldap_authenticate"
สไตล์ "รหัสผ่าน add_roles"
การควบคุม "จำเป็น"
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}" เท่ากับ "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}" เท่ากับ "memberOf" \
? strtr(ldap(rdn_attrvalue, ldap(dn_index, "${LDAP::attrvalue}", 1)), " ", "_") : ""
การรับรองความถูกต้องสามารถทำได้โดยใช้คำสั่งดังนี้:
% dacsauth -fj FEDROOT -ม http://example.example.com/cgi-bin/dacs/local_ldap_authenticate passwd ต่อท้าย \
-ของ /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