Tôi đã làm theo hướng dẫn này ở đây:
https://kifarunix.com/how-to-configure-sudo-via-openldap-server/
Rất nhiều điều có ý nghĩa, nhưng vẫn còn mới đối với openldap nên một số điều này cũng khó hiểu. Tôi có openldap đang chạy với người dùng xác thực trên các máy khác thậm chí hoạt động với phpldapadmin. Vì vậy, đã đến lúc để sudoers hoạt động cho một số người dùng. tôi đã chạy sudoers2ldif
command và nhận được một tệp tương tự như những gì đã được hiển thị trong hướng dẫn và chỉnh sửa nó cho phù hợp. Khi nó đến thời gian để chạy ldapadd -Y BÊN NGOÀI -H ldapi:/// -f sudoers_modified.ldif
nó không thành công với lỗi:
Đã bắt đầu xác thực SASL/BÊN NGOÀI
Tên người dùng SASL: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
thêm mục mới "cn=defaults,ou=SUDOers,dc=apo,dc=local"
ldap_add: Cú pháp không hợp lệ (21)
thông tin bổ sung: objectClass: giá trị #1 không hợp lệ theo cú pháp
Có phải 21, số dòng của tệp .ldif không? Hoặc một số mã lỗi khác...cũng không biết điều gì không hợp lệ trên lệnh objectClass... được đăng là tệp ldif bên dưới.
dn: cn=defaults,ou=SUDOers,dc=bbb,dc=local
đối tượngClass: hàng đầu
đối tượngClass: sudoRole
cn: mặc định
mô tả: SudoOption mặc định ở đây
sudoOption: !visiblepw
sudoOption: luôn luôn_set_home
sudoOption: match_group_by_gid
sudoOption: always_query_group_plugin
sudoOption: env_reset
sudoOption: env_keep = "TÊN MÁY CHỦ HIỂN THỊ MÀU SẮC HISTSIZE KDEDIR LS_COLORS"
sudoOption: env_keep += "MAIL PS1 PS2 QTDIR TÊN NGƯỜI DÙNG 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 NGÔN NGỮ NGÔN NGỮ _XKB_CHARSET XAUTHORITY"
sudoOption: secure_path = /sbin:/bin:/usr/sbin:/usr/bin
dn: cn=sudo,OU=SUDOers,dc=bbb,dc=local
đối tượngClass: hàng đầu
đối tượngClass: sudoRole
cn: sudo
sudoNgười dùng: bobby
sudoHost: TẤT CẢ
sudoRunAsUser: TẤT CẢ
sudoCommand: TẤT CẢ
Có lẽ sudoRole cần phải được thêm vào bằng cách nào đó? Ldif khác mà tôi đã thêm thành công cho việc này là:
dn: ou=SUDOers,dc=bbb,dc=local
đối tượngCLass: hàng đầu
đối tượngClass: tổ chứcUnit
bạn: SUDOers
mô tả: thùng chứa BBB SUDOers
Tôi đã tìm thấy một hướng dẫn khác ở đây:
https://forums.centos.org/viewtopic.php?t=73807
Với thông tin tương tự hơi khác một chút, tôi đã không sử dụng thông tin này vì một trong những tệp ldif đã được đăng có rất nhiều nội dung cho biết nó được 'tạo tự động' và tôi không biết thông tin đó đến từ đâu và như thế nào.
Sau một câu trả lời, tôi tin rằng tệp hiển thị trên liên kết ở trên có dữ liệu:
vi /testfolder/sudoers.ldif
#------------------------
# TỆP TẠO TỰ ĐỘNG - KHÔNG CHỈNH SỬA!! Sử dụng ldapmodify.
#CRC32 b181185c
dn: cn=sudoers,cn=lược đồ,cn=config
objectClass: olcSchemaConfig
cn: sudoers
olcAttributeTypes: {0}( 1.3.6.1.4.1.15953.9.1.1 NAME 'sudoUser' DESC 'User(s
) ai có thể chạy 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 TÊN 'sudoHost' DESC 'Máy chủ
) ai có thể chạy 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
(các) lệnh được thực thi bởi 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 'User(
s) mạo danh bởi Sudo (không dùng nữa)' 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 TÊN 'sudoOption' DESC 'Opti
(các) tiện ích theo sau 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 TÊN 'sudoRunAsUser' DESC 'U
ser(s) mạo danh bởi 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 TÊN 'sudoRunAsGroup' DESC '
(Các) nhóm được mạo danh bởi 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 'sudoNot Before' DESC 'S
khoảng thời gian mà mục nhập hợp lệ' EQUALITY generalizedTim
eMatch ĐẶT HÀNG generalizedTimeOrderingMatch CÚ PHÁP 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 của khoảng thời gian mà mục nhập hợp lệ' EQUALITY generalizedTimeMa
tch ĐẶT HÀNG generalizedTimeOrderingMatch CÚ PHÁP 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 để sắp xếp số nguyên EQUALITY integerMatch ORDERING của các mục nhập sudoRole
rOrderingMatch CÚ PHÁP 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
Entries' SUP top CẤU TRÚC PHẢI cn THÁNG 5 ( sudoUser $ sudoHost $ sudoCommand
$ sudoRunAs $ sudoRunAsUser $ sudoRunAsGroup $ sudoOption $ sudoOrder $ su
doNot Before $ sudoNotafter $ mô tả ) )
Khi tôi nhận ra tệp là lược đồ, tôi đã thêm nó và cuối cùng tất cả đều hoạt động nên tôi đã chấp nhận câu trả lời mặc dù tôi phải tìm hiểu kỹ hơn một chút về những gì tôi đang làm. Nhân tiện, tệp lược đồ không được sử dụng trong ldap của tôi, tôi phải thêm nó qua ldapadd