ฉันกำลังติดตามบทช่วยสอนนี้ที่นี่:
https://kifarunix.com/how-to-configure-sudo-via-openldap-server/
มีเหตุผลมากมาย แต่ก็ยังใหม่สำหรับ openldap ดังนั้นบางส่วนก็เป็นความลับเช่นกัน ฉันมี openldap ที่ทำงานกับผู้ใช้ที่ตรวจสอบสิทธิ์ในเครื่องอื่นแม้ว่าจะทำงานกับ phpldapadmin ถึงเวลาแล้วที่จะให้ sudoers ทำงานให้กับผู้ใช้บางคน ฉันวิ่ง sudoers2ldif
คำสั่งและรับไฟล์ที่คล้ายกับที่แสดงไว้ในบทช่วยสอน และแก้ไขตามนั้น เมื่อถึงเวลาวิ่ง ldapadd -Y ภายนอก -H ldapi:/// -f sudoers_modified.ldif
มันล้มเหลวด้วยข้อผิดพลาด:
เริ่มการรับรองความถูกต้อง SASL/EXTERNAL แล้ว
ชื่อผู้ใช้ SASL: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
เพิ่มรายการใหม่ "cn=defaults,ou=SUDOers,dc=apo,dc=local"
ldap_add: ไวยากรณ์ไม่ถูกต้อง (21)
ข้อมูลเพิ่มเติม: objectClass: ค่า #1 ไม่ถูกต้องต่อไวยากรณ์
21 คือหมายเลขบรรทัดของไฟล์ .ldif หรือไม่ หรือรหัสข้อผิดพลาดอื่น ๆ ... ก็ไม่รู้ว่าอะไรไม่ถูกต้องในคำสั่ง objectClass ... ที่โพสต์คือไฟล์ ldif ด้านล่าง
dn: cn=defaults,ou=SUDOers,dc=bbb,dc=local
objectClass: ด้านบน
objectClass: sudoRole
cn: ค่าเริ่มต้น
คำอธิบาย: เริ่มต้น sudoOption ไปที่นี่
sudoOption: !visiblepw
sudoOption: always_set_home
sudoOption: match_group_by_gid
sudoOption: always_query_group_plugin
sudoOption: env_reset
sudoOption: env_keep = "สีที่แสดงชื่อโฮสต์ HISTSIZE KDEDIR LS_COLORS"
sudoOption: env_keep += "MAIL PS1 PS2 QTDIR ชื่อผู้ใช้ LANG LC_ADDRESS LC_CTYPE"
sudoOption: env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
sudoOption: env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
sudoOption: env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
sudoOption: secure_path = /sbin:/bin:/usr/sbin:/usr/bin
dn: cn=sudo,OU=SUDOers,dc=bbb,dc=local
objectClass: ด้านบน
objectClass: sudoRole
cn: sudo
sudoUser: บ๊อบบี้
sudoHost: ทั้งหมด
sudoRunAsUser: ทั้งหมด
sudoCommand: ทั้งหมด
อาจจำเป็นต้องเพิ่ม sudoRole อย่างใด ldif อื่น ๆ ที่ฉันเพิ่มสำเร็จสำหรับสิ่งนี้คือ:
dn: ou=SUDOers,dc=bbb,dc=local
objectCLass: ด้านบน
objectClass: หน่วยขององค์กร
คุณ: SUDOers
รายละเอียด: ตู้คอนเทนเนอร์ BBB SUDOers
ฉันพบบทช่วยสอนอื่นที่นี่:
https://forums.centos.org/viewtopic.php?t=73807
ด้วยข้อมูลที่คล้ายกันซึ่งแตกต่างกันเล็กน้อย ฉันไม่ได้ใช้ไฟล์นี้เพราะไฟล์ ldif ไฟล์หนึ่งที่โพสต์มีเนื้อหามากมายที่ระบุว่าไฟล์นี้ "สร้างอัตโนมัติ" และฉันก็ไม่รู้ว่าไฟล์นั้นมาจากไหนหรืออย่างไร
หลังจากคำตอบเดียว ฉันเชื่อว่าไฟล์แสดงในลิงก์ด้านบนที่มีข้อมูล:
vi /testfolder/sudoers.ldif
#------------------------
# ไฟล์ที่สร้างอัตโนมัติ - ห้ามแก้ไข!! ใช้ ldapmodify
#CRC32b181185c
dn: cn=sudoers,cn=สคีมา,cn=config
objectClass: olcSchemaConfig
cn: ซูโดเออร์
olcAttributeTypes: {0}( 1.3.6.1.4.1.15953.9.1.1 NAME 'sudoUser' DESC 'ผู้ใช้
) ที่อาจเรียกใช้ sudo' EQUALITY caseExactIA5Match SUBSTR caseExactIA5Substrin
gsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
olcAttributeTypes: {1}( 1.3.6.1.4.1.15953.9.1.2 NAME 'sudoHost' DESC 'โฮสต์
) ที่อาจเรียกใช้ sudo' EQUALITY caseExactIA5Match SUBSTR caseExactIA5Substring
sMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
olcAttributeTypes: {2}( 1.3.6.1.4.1.15953.9.1.3 NAME 'sudoCommand' DESC 'Com
คำสั่งที่จะดำเนินการโดย sudo' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4
.1.1466.115.121.1.26 )
olcAttributeTypes: {3}( 1.3.6.1.4.1.15953.9.1.4 NAME 'sudoRunAs' DESC 'ผู้ใช้ (
s) เลียนแบบโดย sudo (เลิกใช้แล้ว)' EQUALITY caseExactIA5Match SYNTAX 1.3
.6.1.4.1.1466.115.121.1.26 )
olcAttributeTypes: {4}( 1.3.6.1.4.1.15953.9.1.5 NAME 'sudoOption' DESC 'Opti
ons ตามด้วย sudo' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466
.115.121.1.26 )
olcAttributeTypes: {5}( 1.3.6.1.4.1.15953.9.1.6 NAME 'sudoRunAsUser' DESC 'U
ser(s) เลียนแบบโดย sudo' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1
1466.115.121.1.26 )
olcAttributeTypes: {6}( 1.3.6.1.4.1.15953.9.1.7 NAME 'sudoRunAsGroup' DESC '
กลุ่มที่เลียนแบบโดย sudo' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4
1.1466.115.121.1.26 )
olcAttributeTypes: {7}( 1.3.6.1.4.1.15953.9.1.8 NAME 'sudoNotBefore' DESC 'S
tart ของช่วงเวลาที่รายการถูกต้อง ' EQUALITY generalizedTim
eMatch ORDERING GeneralizedTimeOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.12
1.1.24 )
olcAttributeTypes: {8}( 1.3.6.1.4.1.15953.9.1.9 NAME 'sudoNotAfter' DESC 'En
d ของช่วงเวลาที่รายการถูกต้อง' EQUALITY generalizedTimeMa
tch ORDERING GeneralizedTimeOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1
.24 )
olcAttributeTypes: {9}( 1.3.6.1.4.1.15953.9.1.10 NAME 'sudoOrder' DESC 'an i
nteger เพื่อสั่งซื้อรายการ sudoRole' EQUALITY integerMatch ORDERING intege
rOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
olcObjectClasses: {0}( 1.3.6.1.4.1.15953.9.2.1 NAME 'sudoRole' DESC 'Sudoer
รายการ ' SUP โครงสร้างด้านบนต้อง cn อาจ ( sudoUser $ sudoHost $ sudoCommand
$ sudoRunAs $ sudoRunAsUser $ sudoRunAsGroup $ sudoOption $ sudoOrder $ ซู
doNotBefore $ คำอธิบาย sudoNotAfter $ ) )
เมื่อฉันรู้ว่าไฟล์เป็นสคีมา ฉันเพิ่มเข้าไปและในที่สุดก็ทำให้ทั้งหมดนี้ใช้งานได้ ดังนั้นฉันจึงยอมรับคำตอบแม้ว่าฉันจะต้องเจาะลึกถึงสิ่งที่ฉันกำลังทำอีกเล็กน้อย Btw ไฟล์สคีมาไม่ได้ใช้ใน ldap ของฉัน ฉันต้องเพิ่มผ่าน ldapadd