ldap_modify: Truy cập không đủ (50)


9

Tôi đang chạy một máy chủ OpenLDAP 2.4 sử dụng dịch vụ SSL để liên lạc. Nó hoạt động cho tra cứu.

Tôi đang cố gắng để thêm bản sao chế độ gương.

Vì vậy, đây là lệnh mà tôi đang thực hiện:

ldapmodify -D "cn=myuser,dc=mydomain,dc=com" -H ldaps://myloadbalancer -W -f /etc/ldap/ldif/server_id.ldif

Đây là server_id.ldif của tôi:

dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1 myserver1
olcServerID: 2 myserver2

và đây là cn \ = config.ldif của tôi trong cây slapd.d của tệp văn bản:

dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /var/run/slapd/slapd.args
olcPidFile: /var/run/slapd/slapd.pid
olcToolThreads: 1
structuralObjectClass: olcGlobal
entryUUID: ff9689de-c61d-1031-880b-c3eb45d66183
creatorsName: cn=config
createTimestamp: 20121118224947Z
olcLogLevel: stats
olcTLSCertificateFile: /etc/ldap/certs/ldapscert.pem
olcTLSCertificateKeyFile: /etc/ldap/certs/ldapskey.pem
olcTLSCACertificateFile: /etc/ldap/certs/ldapscert.pem
olcTLSVerifyClient: never
entryCSN: 20121119022009.770692Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20121119022009Z

Nhưng thật không may, tôi nhận được điều này:

Enter LDAP Password: 
modifying entry "cn=config"
ldap_modify: Insufficient access (50)

Nếu tôi cố gắng chỉ định cơ sở dữ liệu cấu hình, tôi nhận được điều này:

ldapmodify -H 'ldaps://myloadbalancer/cn=config' -D "cn=myuser,cn=config" -W -f ./server_id.ldif 
Enter LDAP Password: 
ldap_bind: Invalid credentials (49)}

Có ai biết làm thế nào tôi có thể thêm serverID vào cơ sở dữ liệu cấu hình để tôi có thể hoàn thành việc thiết lập chế độ nhân bản không?

Câu trả lời:


10

Nó chính xác là những gì được nói trên tin. DN của bạn cn=myuser,dc=mydomain,dc=comkhông có đủ quyền để sửa đổi cn=configcây. Và khi bạn đang cố gắng "chỉ định cơ sở dữ liệu cấu hình", bạn đang sử dụng một DN hoàn toàn khác cn=myuser,cn=config, dường như không tồn tại hoặc bạn đang sử dụng mật khẩu sai.

Để thực hiện các sửa đổi như thế này, bạn cần phải làm việc với một tài khoản đủ đặc quyền để sửa đổi các cơ sở dữ liệu khác nhau. Tài khoản "admin", tức là một tài khoản luôn có tất cả các đặc quyền, được chỉ định trong thuộc tính olcRootDNvà mật khẩu của nó được tìm thấy trong olcRootPW. Đối với cn=configcơ sở dữ liệu, các thuộc tính đó được tìm thấy trong olcDatabase={0}config,cn=configvà cho cơ sở dữ liệu "thông thường", thường là loại HDB, trong olcDatabase={1}hdb,cn=config.

Những hướng dẫn hoặc tài liệu bạn đã làm theo? Có vẻ như bạn không hiểu hoàn toàn những gì bạn đang làm ở đây.


Hmm, tôi đã sử dụng tài khoản olcRootDN. -D "cn = myuser, dc = mydomain, dc = com" là sự thay thế của tôi "cn = Manager, dc = example, dc = com" ... Tôi đã thay thế Manager bằng myuser vì mục đích bảo mật. Tôi mong đợi nó hoạt động. Tôi nghĩ rằng tôi cần chỉ định serverID ở mức cao hơn cơ sở dữ liệu, ... ở cấu hình cơ bản của slapd, mà tôi dự kiến ​​sẽ ở cn = config.ldif, không phải trong olcDatabase \ = \ {1 \} hdb.ldif nơi người ta tìm thấy olcRootDN.
Lynn Owens

Nếu bạn nhận được "không đủ quyền truy cập" thì bạn không sử dụng người dùng quản trị được cấu hình trong olcRootDNolcRootPW. Người dùng đó luôn có quyền truy cập vào mọi thứ, theo định nghĩa. Một lần nữa, hãy lưu ý rằng các cơ sở dữ liệu khác nhau có người dùng quản trị khác nhau. Đối với cn=configcây sử dụng một trong những chỉ định dưới olcDatabase={0}config,cn=config. Và không, các olcServerIDthuộc tính không thuộc về cn=configDN. Đó cũng là nơi tôi có chúng.
daff

Cảm ơn Daff, đó là nó. Tôi đã không biết thực tế rằng cơ sở dữ liệu cấu hình là cơ sở dữ liệu {0}. Thực sự có một người dùng admin trong đó. Tôi đã cho nó một mật khẩu và các sửa đổi của tôi đã trải qua mà không có vấn đề gì. :)
Lynn Owens

Tôi rất muốn biết Hướng dẫn hoặc Tài liệu nào bạn muốn giới thiệu để nhanh chóng làm quen với ldap. Bởi vì rõ ràng với tôi rằng tôi hoàn toàn không biết mình đang làm gì ..
Bộ giải mã lười biếng

1
@TheLazyCoder Tài liệu chính thức là toàn diện nhưng không dễ tiếp cận đối với người mới. Các tài liệu Ubuntu OpenLDAP đã trở nên tốt hơn theo thời gian và có thể đủ tốt cho người mới bắt đầu. Ngoài ra, tôi đã học được khá nhiều từ cuốn sách "Làm chủ OpenLDAP" của Matt Butcher, được xuất bản bởi Packt. Bạn có thể muốn bắt đầu ở đó, ngay cả khi bây giờ là một chút ngày.
daff

7

Vì tôi gặp một vấn đề khá giống nhau, tôi đã thử giải pháp thú vị nhưng không có kết quả. Trái với Lynn Owens, tôi không thể thêm mật khẩu cho quản trị viên olcDatabase={0}config,cn=config. Cuối cùng tôi cũng đã sửa đổi cn=configbằng cách sử dụng các lệnh như:

ldapmodify -Y EXTERNAL -H ldapi:/// -f somefile.ldif

Điều này hoạt động, cụ thể là "-Y EXTERNAL -H ldapi: ///", bởi vì cn = admin, dc = ... ban đầu được tạo không có quyền truy cập để thực hiện các sửa đổi cấp thấp hơn này.
naisanza

1
Nếu điều này không hiệu quả trong lần thử đầu tiên, hãy nhớ sudolà bạn của bạn
ratskin
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.