Thiết lập openldap cơ bản bằng cấu hình slapd.d


14

Tôi đang cố gắng thiết lập một máy chủ openldap thử nghiệm, trước đây chưa từng làm việc với openldap. Tôi đang sử dụng gói máy chủ openldap tiêu chuẩn trên máy dựa trên redhat (sử dụng Oracle Linux). Tôi đã cài đặt các gói và khởi động máy chủ.

Bây giờ tôi không biết làm thế nào để máy chủ thực sự làm điều gì đó hữu ích; Tôi không thể duyệt nó bằng luma ('Không có đối tượng như vậy' khi cố gắng truy cập mục cấp cao nhất), các tài liệu openldap bị che khuất như cách bạn thực sự đưa máy chủ đến một cấu trúc làm việc cơ bản và tất cả thông tin trực tuyến dành cho tệp slapd.conf cũ thay vì slapd.d và cn = config mới.

Làm cách nào để cài đặt openldap đóng gói vanilla hoạt động trong đó tôi có thể duyệt đến root dn trong luma?

Câu trả lời:


20

Tôi cảm nhận được nỗi đau của bạn.

Hãy thử điều này (nó đã được thử nghiệm trên Science Linux 6.5, vì vậy nó cũng hoạt động trên OL):

  • Cài đặt máy chủ OpenLDAP yum install openldap-servers openldap-clients:)
  • bắt đầu slapd: service slapd start(và có thể chkconfig slapd on)
  • Tạo mật khẩu cho cn=configvà người dùng quản trị LDAP bình thường của bạn với slappasswd. Lưu ý đầu ra của điều này.
  • Tạo một tệp LDIF với nội dung sau:
dn: olcDatabase = {0} config, cn = config
thay đổi: sửa đổi
thêm: olcRootPW
olcRootPW: {SSHA} TXcmvaldskl312012cKsPK1cY 2321 + aj

dn: olcDatabase = {2} bdb, cn = config
thay đổi: sửa đổi
thêm: olcRootPW
olcRootPW: {SSHA} TXcmvaldskl312012cKsPK1cY 2321 + aj
-
thay thế: olcRootDN
olcRootDN: cn = admin, dc = your, dc = cơ sở, dc = com
-
thay thế: olcSuffix
olcSuffix: dc = của bạn, dc = cơ sở, dc = com
  • Các giá trị cho olcRootPWnên được thay thế bằng đầu ra của slappaswdghi chú của bạn trước đó.
  • Đương nhiên, olcSuffixolcRootDNnên thích nghi với DN cơ sở mới của bạn.
  • Cung cấp tất cả điều này cho máy chủ LDAP bằng lệnh sau:

    ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif

Thêm vào đó, bạn sẽ có thể kết nối với cả hai cn=configdc=your,dc=base,dc=comthông qua LDAP.


7
Cảm ơn, điều này giống như cơn ác mộng cho người mới bắt đầu. Có cấu hình, nhưng trong các dòng đầu tiên của slap.d / * - KHÔNG EDIT, trong khi tất cả các hướng dẫn / bắt đầu / hướng dẫn đều nói về "cấu hình mở trong trình chỉnh sửa yêu thích của bạn"
fghj

9

Trước khi bạn khởi động máy chủ OpenLDAP, bạn cần thiết lập một vài điều trước tiên.

Cấu hình cơ bản

Bạn cần thiết lập một người dùng root và mật khẩu, cùng với việc xác định DN cơ sở của bạn. Trong slapd.conf, tìm kiếm các dòng sau các dòng và đặt chúng thành các giá trị bạn muốn.

suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"

Thông thường DN cơ sở của bạn (được xác định như suffixtrong tệp) là các thành phần của tên miền của bạn, được phân tách bằng dấu phẩy và có tiền tố dc=. Vì vậy, serverfault.comcó thể trở thành dc=serverfault,dc=com. Bạn rootdnphải ở dưới hậu tố đó.

Bạn cũng cần thay đổi dòng xác định mật khẩu gốc. Bạn có thể đặt nó thành một giá trị văn bản gốc hoặc sử dụng slappasswdđể tạo ra một hàm băm. Sau đó, bạn cần đặt giá trị văn bản gốc hoặc giá trị băm ra slappasswdtrong một dòng trông như thế này:

rootpw myultrasecurepassword

Lược đồ

Đó là một ý tưởng tốt vào thời điểm này để bắt đầu suy nghĩ về các lược đồ bạn muốn sử dụng. Một lược đồ xác định các thuộc tính mà một đối tượng có thể có, vì vậy bạn cần bao gồm các lược đồ có chứa các thuộc tính bạn cần. Các lược đồ này được bao gồm ở đầu slapd.confvà các lược đồ ở đây thường là các lược đồ cơ bản tuyệt đối bạn sẽ cần:

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema

Các đường dẫn này là những đường dẫn được sử dụng trong Arch Linux, vì vậy bạn có thể cần điều chỉnh chúng để phù hợp với Oracle Linux.

Về slapd.confvsslapd.d

OpenLDAP đã chuyển từ cấu hình ngoại tuyến (thực hiện slapd.conf) sang cấu hình trực tuyến, lưu trữ dữ liệu trong một cn=configcây đặc biệt được tìm thấy trong slapd.d. Tuy nhiên, sửa đổi các ldiftệp trong slapd.dlà một quá trình khó khăn, vì vậy việc chỉnh sửa slapd.confnhư trên sẽ dễ dàng hơn nhiều , sau đó chuyển đổi nó sang slapd.dđịnh dạng mới .

Đầu tiên, loại bỏ mọi thứ trong slapd.d. Tiếp theo, chạy lệnh sau, đảm bảo điều chỉnh các đường dẫn đến Oracle Linux:

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

Sau đó, chỉ cần đặt chủ sở hữu cho người dùng và nhóm LDAP của bạn trên thư mục đó theo cách đệ quy và bạn sẽ sẵn sàng để đi. Điều này cần được thực hiện mỗi khi bạn chỉnh sửa slapd.conf- chỉ cần nhớ dừng máy chủ OpenLDAP trước khi thực hiện!

Chạy ban đầu

Trước khi bạn thực sự có thể sử dụng thư mục, bạn cần tạo DN cơ sở (và người dùng root). Tạo một .ldiftệp, chứa các dòng tương tự như sau:

dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: example.com
dc: example

dn: cn=root,dc=example,dc=com
objectclass: organizationalRole
cn: root

Bây giờ bắt đầu máy chủ OpenLDAP. Chúng ta chỉ cần đẩy thông tin đó vào thư mục LDAP:

ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif

Rõ ràng thay đổi tên tập tin DN và ldif gốc để phù hợp với những gì bạn có.

Bây giờ bạn sẽ có một thư mục LDAP hoạt động được thiết lập và sẵn sàng để được điền!


Wiki Arch Linux là một nguồn thông tin tuyệt vời về chủ đề này - xem https://wiki.archlinux.org/index.php/OpenLDAPhttps://wiki.archlinux.org/index.php/LDAP_Authentication nếu bạn muốn biêt nhiêu hơn.


Hầu hết điều này đã được thực hiện bởi người quản lý gói và tiếp tục quản lý cấu hình thông qua slapd.confslaptesttrong khi máy chủ bị dừng lại vượt quá mục đích của cấu hình trực tuyến.
Sven

2
Đối với một cấu hình ban đầu slapd.confhoạt động tốt, và chắc chắn là trực quan hơn so với chỉnh sửa slapd.dtrực tiếp. Tôi không biết bao nhiêu thư mục được thực hiện bởi người quản lý gói trong Oracle Linux, nhưng nếu OP không thể truy cập vào cơ sở DN thì nó không thể đủ
Xenopathic

1
Câu trả lời được chấp nhận có thông tin tôi cần, nhưng thông tin về việc tạo các đối tượng ban đầu cũng hữu ích
thecoop
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.