Điểm:0

Đang cố gắng để sudoer hoạt động trên openldap/centos7

lá cờ in

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

Richard Salts avatar
lá cờ cn
Bạn đang sử dụng cấu hình động cho openldap thay vì clapd.conf và các tệp *.schema được liên kết. Cấu hình máy chủ được truy cập thông qua ldap và bạn có thể xem nó bằng `ldapsearch -Y EXTERNAL -d "cn=config" ldapi:///` có vẻ như hướng dẫn bạn đang theo dõi chỉ dựa trên thực tế là lược đồ sudo đã có rồi được tích hợp vào máy chủ ldap.
Điểm:1
lá cờ no

Có phải 21, số dòng của tệp .ldif không? Hoặc một số mã lỗi khác

Đó là mã trả về cho Cú pháp không hợp lệ.

LDAP_INVALID_SYNTAX - 21 (0x15)
Giá trị thuộc tính được chỉ định trong yêu cầu máy khách LDAP không có cú pháp hợp lệ được chỉ định. 
Ví dụ: nếu một loại thuộc tính trong lược đồ có cú pháp số nguyên, giá trị số nguyên phải được chỉ định trong yêu cầu thêm hoặc sửa đổi.

Bạn có thể làm như sau để khắc phục sự cố này thêm không?

  • Kiểm tra xem các tệp lược đồ sudoers có trên máy chủ không. nếu nó không có, sao chép nó từ đây
    # ls -l /etc/openldap/schema/sudo.schema
    
  • Kiểm tra xem sudo.schema (hoặc tệp tương đương) có được thêm vào tệp cấu hình máy chủ openldap có liên quan hay không.
    # grep sudo.schema /etc/openldap/slapd.conf
    bao gồm /etc/openldap/schema/sudo.schema
    
  • Kiểm tra xem OU sudoers có tồn tại không!
    # ldapsearch -H ldap://localhost -x -LLL -s one -b "OU=SUDOers,dc=bbb,dc=local"
    
    Nếu không, hãy thêm nó bằng cách sử dụng ldapadd (1)
  • Kiểm tra xem có lỗi cú pháp trong tệp ldif bằng cách sử dụng
    # /usr/bin/cvtsudoers /tmp/sample.ldif -i ldif -f sudoers
    

Có lẽ bạn nên xem qua tài liệu sudo chính thức liên kết có chứa lời giải thích cho một số điều trên.

lá cờ in
Tôi nhận thấy rằng tôi hoàn toàn không có Slapd.conf, nhưng tôi nghĩ đó là do nó không được dùng nữa và tôi đang chạy một phiên bản mới?
lá cờ no
Vì bạn đang sử dụng centos, bạn có thể kiểm tra phiên bản openldap mà bạn đang chạy bằng cách sử dụng một cái gì đó như thế này `rpm -qi openldap-servers` không?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.