รูปแบบไฟล์รหัสผ่าน ldapsearch


18

ฉันจะส่งรหัสผ่านไปldapsearchยัง-y <password file>ตัวเลือกได้อย่างไร?
หากฉันเขียนรหัสผ่านในไฟล์รหัสผ่านเป็นข้อความธรรมดาฉันจะได้รับข้อผิดพลาดนี้:

ldap_bind: Invalid credentials (49)
    additional info: 80090308: LdapErr: DSID-0C0903AA, comment: AcceptSecurityContext error, data 52e, v1772

สิ่งเดียวกันจะเกิดขึ้นหากฉันใช้-w <password>ตัวเลือก

แก้ไข :
คำสั่งที่ฉันใช้คือ

ldapsearch -x -D <my dn> -y .pass.txt -h server.x.x -b "dc=x,dc=y" "cn=*"

ที่ไฟล์.pass.txtมีรหัสผ่านของฉันเป็นข้อความธรรมดา ทั้ง DN และรหัสผ่านถูกต้อง หากฉันรันคำสั่งพร้อม-Wตัวเลือกและพิมพ์รหัสผ่านบนพรอมต์คำสั่งจะทำงานได้สำเร็จ แต่ฉันต้องการเก็บรหัสผ่านเพื่อสร้างสคริปต์


คุณกำลังใช้ไฟล์ "รหัสผ่าน" ประเภทใด คุณอาจต้องการแสดงให้เราเห็นคำสั่งทั้งหมดที่คุณกำลังพิมพ์ คุณใช้ข้อมูลรับรองผูกที่ถูกต้องหรือไม่?
solefald

คำตอบ:


22

โปรดทราบว่า ldapsearch จะใช้เนื้อหาทั้งหมดของไฟล์สำหรับรหัสผ่าน - ซึ่งหมายความว่ามันจะมีอักขระขึ้นบรรทัดใหม่ที่ยกเลิกหากมีอยู่ หากต้องการตรวจสอบว่านี่เป็นปัญหาของคุณหรือไม่ลองสร้างไฟล์โดยไม่ใช้ไฟล์:

echo -n ThisIsaBadPassword > .pass.txt

( อัปเดต : รวม '-n')


1
ฉันพยายามแล้ว แต่ได้รับข้อผิดพลาดเดียวกันอย่างแน่นอน
เปาโลเท็เดสโก

2
ไม่มันจะไม่ คุณต้องการecho -nหรือprintfเพื่อหลีกเลี่ยงการขึ้นบรรทัดใหม่
user1686

เสียงก้องทำเคล็ดลับ! ขอบคุณทุกท่านสำหรับความช่วยเหลือของคุณ
เปาโล Tedesco

ในการติดตามความคิดเห็นของ grawity echo -n ทำงานได้อย่างสมบูรณ์แบบเช่น: echo -n "secretpassword"> /etc/ldapscripts/ldapscripts.passwd
Ned W.

แก้ไขปัญหาที่น่ารำคาญเนื่องจากเรื่องนี้ขอบคุณ ฉันเพิ่งใช้sedแถบจุดสิ้นสุดของไฟล์ที่มีอยู่แม้ว่า
wirefox

1

สมมติว่าเป็น newline / carut reuturn ลองปฏิบัติดังนี้:

cat .pass.txt | tr -d '\n\r' > .pass2.txt

จากนั้นใช้ไฟล์. pass2.txt คุณสามารถตรวจสอบบรรทัดใหม่และการขึ้นบรรทัดใหม่ด้วยcat -vEและจะปรากฏเป็น $ และ ^ M ตามลำดับ

คุณสามารถทำได้-y <(cat .pass.txt | tr -d '\n\r')โดยตรงในคำสั่ง ldapsearch


0

ldapsearch -x -D cn=Manager,dc=domain,dc=com -y pass.txt -H ldap://ldap.domain.com -b dc=domain,dc=com

คุณอาจจะต้อง chmod 600 pass.txt


-2

ไม่จำเป็นต้องถ่ายโอนรหัสผ่านไปยังไฟล์จริง เพียงแค่สะท้อนด้วยแฟล็ก -n เพื่อป้องกันการขึ้นบรรทัดใหม่จากนั้นอ่านจาก descriptor ไฟล์ STDIN (/ dev / fd / 0) ดังนี้:

echo -n 'mypassword' | ldapsearch -x -D <my dn> -y /dev/fd/0 -h server.x.x -b "dc=x,dc=y" "cn=*"

ปัญหาเกี่ยวกับวิธีการนี้คือทำให้คุณต้องมีประวัติเชลล์และ PS เพื่อค้นหารหัสผ่านของคุณ
cgseller

1
จุดที่ถ่าย กลางปี ​​2018 แล้ว ฉันได้เรียนรู้จากความผิดพลาดของฉัน อย่าใช้การพูดอย่างจริงจังในปี 2014 ของฉัน ขอขอบคุณ. :)
Brian Showalter
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.