Thứ sáu, 29/05/2015 | 00:00 GMT+7

Cách sử dụng tệp LDIF để thực hiện thay đổi đối với hệ thống OpenLDAP

LDAP là một giao thức để quản lý và tương tác với các dịch vụ folder . Dự án OpenLDAP cung cấp dịch vụ folder tuân theo LDAP được dùng để lưu trữ và cung cấp giao diện cho dữ liệu folder .

Trong hướng dẫn này, ta sẽ thảo luận về định dạng file LDIF được sử dụng để giao tiếp với các folder LDAP. Ta sẽ thảo luận về các công cụ mà bạn có thể sử dụng để xử lý các file này và sửa đổi Cây thông tin folder LDAP dựa trên các lệnh được chỉ định.

Yêu cầu

Trước khi bắt đầu hướng dẫn này, bạn phải có quyền truy cập vào server OpenLDAP. Bạn có thể tìm hiểu cách cài đặt server OpenLDAP tại đây . Bạn nên làm quen với thuật ngữ cơ bản được sử dụng khi làm việc với dịch vụ folder LDAP. Hướng dẫn này được dùng để làm quen với các chủ đề này.

Định dạng LDIF

LDIF, hoặc Định dạng trao đổi dữ liệu LDAP, là một định dạng văn bản để biểu thị dữ liệu LDAP và các lệnh. Khi sử dụng hệ thống LDAP, bạn có thể sẽ sử dụng định dạng LDIF để chỉ định dữ liệu của bạn và những thay đổi bạn muốn thực hiện đối với LDAP DIT.

LDIF nghĩa là có thể mô tả bất kỳ mục nhập nào trong hệ thống LDAP, cũng như bất kỳ sửa đổi nào phải diễn ra. Do đó, cú pháp rất chính xác và ban đầu có thể hơi phức tạp. Sử dụng LDIF, các thay đổi LDAP được viết đơn giản trong các file có tên tùy ý và sau đó được đưa vào hệ thống LDAP bằng một trong các lệnh quản lý có sẵn.

LDIF hoạt động bằng cách sử dụng hệ thống key-value cơ bản, với một câu lệnh trên mỗi dòng. Phím nằm ở phía bên trái của một dòng theo sau là dấu hai chấm (:) và dấu cách. Khoảng trống rất quan trọng để dòng được đọc chính xác. Giá trị sau đó được gán ở phía bên phải. Định dạng này hoạt động tốt đối với cú pháp nặng thuộc tính của LDAP, nhưng cũng được dùng để ra lệnh và cung cấp hướng dẫn về cách diễn giải nội dung.

Nhiều dòng được dùng để cung cấp giá trị dài cho thuộc tính bằng cách bắt đầu các dòng phụ bằng một khoảng trắng. LDAP sẽ tham gia những điều này khi xử lý mục nhập.

Thêm mục vào DIT

Có hai cách chính để chỉ định mục nhập mới trong file LDIF. Phương pháp tốt nhất cho nhu cầu của bạn phụ thuộc vào các loại thay đổi khác mà bạn cần phối hợp. Phương pháp bạn chọn sẽ chỉ định các công cụ và đối số bạn phải sử dụng để áp dụng các thay đổi cho LDAP DIT (cây thông tin folder ).

Danh sách các mục để thêm vào DIT

Phương pháp cơ bản nhất để xác định các mục nhập mới để thêm vào LDAP là chỉ cần liệt kê toàn bộ các mục nhập, chính xác như cách chúng thường được hiển thị bằng công cụ LDAP. Điều này bắt đầu với DN (tên phân biệt) nơi mục nhập sẽ được tạo, sau chỉ báo dn: ::

dn: ou=newgroup,dc=example,dc=com 

Trong dòng trên, ta tham chiếu một số cặp key-value để tạo DN cho mục nhập mới của ta . Khi đặt giá trị thuộc tính, bạn phải sử dụng dấu hai chấm và dấu cách. Khi tham chiếu các thuộc tính / giá trị, nên sử dụng dấu bằng để thay thế.

Ở định dạng LDIF đơn giản nhất để thêm mục nhập vào DIT, phần còn lại của mục nhập chỉ được viết ra bằng cách sử dụng định dạng này bên dưới định nghĩa DN. Các khai báo và thuộc tính objectClass cần thiết phải được cài đặt để tạo một mục nhập hợp lệ. Ví dụ: để tạo một đơn vị tổ chức để chứa các mục nhập cho nhân viên trong tổ chức của ta , ta có thể sử dụng điều này:

dn: ou=People,dc=example,dc=com objectClass: organizationalUnit ou: People 

Bạn có thể thêm nhiều mục trong một file duy nhất. Mỗi mục nhập phải được phân tách bằng ít nhất một dòng hoàn toàn trống:

dn: ou=People,dc=example,dc=com objectClass: organizationalUnit ou: People  dn: ou=othergroup,dc=example,dc=com objectClass: organizationalUnit ou: othergroup 

Như bạn thấy , định dạng LDIF này phản ánh gần như chính xác định dạng bạn sẽ thấy khi truy vấn cây LDAP cho các mục nhập có thông tin này. Bạn hoàn toàn có thể chỉ cần viết những gì bạn muốn mục nhập chứa nguyên văn.

Sử dụng “Changetype: Add” để tạo mục nhập mới

Định dạng thứ hai mà ta sẽ xem xét hoạt động tốt nếu bạn đang thực hiện các sửa đổi khác trong cùng một file LDIF. OpenLDAP cung cấp các công cụ có thể xử lý cả bổ sung và sửa đổi, vì vậy nếu ta đang sửa đổi các mục nhập khác trong cùng một file , ta có thể gắn cờ các mục nhập mới của bạn là bổ sung để chúng được xử lý chính xác.

Điều này trông giống như phương pháp ở trên, nhưng ta thêm changetype: add ngay bên dưới đặc tả DN. Ví dụ: ta có thể thêm mục nhập John Smith vào DIT đã chứa cấu trúc ou=People,dc=example,dc=com bằng cách sử dụng LDIF như sau:

dn: uid=jsmith1,ou=People,dc=example,dc=com changetype: add objectClass: inetOrgPerson description: John Smith from Accounting.  John is the project   manager of the building project, so contact him with any que  stions. cn: John Smith sn: Smith uid: jsmith1 

Về cơ bản, đây là định dạng ta đã sử dụng để mô tả các mục nhập cho đến nay, ngoại trừ một dòng bổ sung sau đặc tả DN. Ở đây, ta cho LDAP biết rằng thay đổi mà ta đang thực hiện là tạo mục nhập. Vì ta đang sử dụng changetype tùy chọn, cụm từ này có thể được xử lý bởi các ldapmodify công cụ mà không có một vấn đề, cho phép ta để đặt sửa đổi các loại xe khác trong file LDIF cùng. Các changetype lựa chọn phải đến ngay sau khi đặc tả DN.

Một điều nữa cần lưu ý ở trên là việc sử dụng giá trị nhiều dòng cho thuộc tính description . Vì các dòng tiếp theo bắt đầu bằng khoảng trắng, chúng sẽ được nối với khoảng trắng bị xóa. Dòng tiếp tục đầu tiên của ta trong ví dụ của ta chứa một khoảng trắng bổ sung, nhưng đó là một phần của chính câu, tách các từ "dự án" và "người quản lý".

Như với phần cuối cùng, mỗi mục nhập bổ sung trong cùng một file được phân tách bằng một dòng trống. Có thể sử dụng chú thích bằng cách bắt đầu dòng bằng ký tự # . Comment phải tồn tại trên dòng riêng của họ. Ví dụ: nếu ta muốn thêm Sally trong cùng một file LDIF này, ta có thể tách hai mục nhập như sau:

# Add John Smith to the organization dn: uid=jsmith1,ou=People,dc=example,dc=com changetype: add objectClass: inetOrgPerson description: John Smith from Accounting.  John is the project   manager of the building project, so contact him with any qu  estions. cn: John Smith sn: Smith uid: jsmith1  # Add Sally Brown to the organization dn: uid=sbrown20,ou=People,dc=example,dc=com changetype: add objectClass: inetOrgPerson description: Sally Brown from engineering.  Sally is responsibl  e for designing the blue prints and testing the structural int  egrity of the design. cn: Sally Brown sn: Brown uid: sbrown20 

Xử lý bổ sung mục nhập

Bây giờ ta đã biết cách tạo file LDIF để thêm các mục nhập mới, ta cần thực sự xử lý chúng bằng các công cụ LDAP để thêm chúng vào DIT. Công cụ và / hoặc đối số bạn sử dụng sẽ phụ thuộc vào hình thức bạn đã chọn ở trên.

Nếu bạn đang sử dụng định dạng entry đơn giản (không có changetype cài đặt ), bạn có thể sử dụng ldapadd lệnh hoặc ldapmodify lệnh với -a cờ, trong đó xác định một sự bổ sung nhập cảnh. Bạn cần sử dụng phương thức SASL để xác thực với version LDAP (điều này nằm ngoài phạm vi của hướng dẫn này) hoặc liên kết với account quản trị trong DIT của bạn và cung cấp password được yêu cầu.

Ví dụ: nếu ta lưu trữ các mục nhập của bạn từ phần mục nhập đơn giản trong một file có tên là newgroups.ldif , lệnh ta cần để xử lý file và thêm các mục nhập mới sẽ trông giống như sau:

  • ldapadd -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f newgroups.ldif

Bạn cũng có thể sử dụng kết hợp ldapmodify -a cho cùng một kết quả:

  • ldapmodify -a -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f newgroups.ldif

Nếu bạn đang sử dụng định dạng thứ hai, với sự changetype khai, bạn cần sử dụng ldapmodify lệnh mà không có sự -a cờ. Vì lệnh và định dạng này phù hợp với hầu hết các sửa đổi khác, nên nó có thể dễ sử dụng hơn cho hầu hết các thay đổi. Nếu ta lưu trữ hai phần bổ sung user mới trong một file có tên newusers.ldif , ta có thể thêm nó vào DIT hiện có của bạn bằng lệnh thông tin như sau:

  • ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f newusers.ldif

Điều này sẽ cho phép bạn thêm các mục vào DIT của bạn theo ý muốn. Bạn có thể dễ dàng lưu trữ nhiều mục nhập trong một file LDIF và điền DIT của bạn vào một lệnh duy nhất.

Xóa các mục khỏi DIT

Ta đã có cái nhìn đầu tiên của ta về changetype tùy chọn trong phần cuối. Tùy chọn này cung cấp phương pháp chỉ định loại sửa đổi cấp cao mà ta muốn thực hiện. Đối với việc xóa mục nhập, giá trị của tùy chọn này là "xóa".

Xóa mục nhập thực sự là thay đổi đơn giản nhất mà bạn có thể thực hiện vì phần thông tin duy nhất cần thiết là DN.

Ví dụ: nếu ta muốn xóa mục nhập ou=othergroup khỏi DIT, thì file LDIF của ta sẽ chỉ cần chứa điều này:

dn: ou=othergroup,dc=example,dc=com changetype: delete 

Để xử lý thay đổi, bạn có thể sử dụng định dạng chính xác được sử dụng với ldapmodify ở trên. Nếu ta gọi file với yêu cầu xóa là rmothergroup.ldif , ta sẽ áp dụng nó như sau:

  • ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f rmothergroup.ldif

Thao tác này sẽ xóa mục nhập ou=othergroup khỏi hệ thống ngay lập tức.

Sửa đổi các thuộc tính của mục nhập

Sửa đổi các thuộc tính của mục nhập là một thay đổi rất phổ biến và có thể thực hiện được bằng cách chỉ định changetype: modify sau DN của mục nhập. Các loại sửa đổi bạn có thể thực hiện đối với các thuộc tính hầu hết phản ánh các sửa đổi mà bạn có thể thực hiện đối với chính mục nhập. Do đó, chi tiết về loại thay đổi thuộc tính được yêu cầu được chỉ định sau đó bằng cách sử dụng các lệnh bổ sung.

Thêm thuộc tính vào mục nhập

Ví dụ: bạn có thể thêm một thuộc tính bằng cách sử dụng lệnh add: sau khi changetype: modify . Điều này sẽ chỉ định thuộc tính bạn muốn thêm. Sau đó, bạn sẽ đặt giá trị của thuộc tính như bình thường. Vì vậy, định dạng cơ bản sẽ là:

dn: entry_to_add_attribute changetype: modify add: attribute_type attribute_type: value_to_set 

Ví dụ: để thêm một số địa chỉ email vào account của ta , ta có thể có một file LDIF trông giống như sau:

dn: uid=sbrown20,ou=People,dc=example,dc=com changetype: modify add: mail mail: sbrown@example.com  dn: uid=jsmith1,ou=People,dc=example,dc=com changetype: modify add: mail mail: jsmith1@example.com mail: johnsmith@example.com 

Như bạn thấy từ mục thứ hai, bạn có thể chỉ định nhiều bổ sung cùng một lúc. Thuộc tính mail cho phép nhiều giá trị, vì vậy điều này được phép.

Bạn có thể xử lý điều này với ldapmodify như bình thường. Nếu thay đổi nằm trong file sbrownaddmail.ldif , có thể chạy lệnh:

  • ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f sbrownaddmail.ldif

Thay thế giá trị của một thuộc tính trong một mục nhập

Một thay đổi phổ biến khác là sửa đổi giá trị hiện có cho một thuộc tính. Ta có thể làm điều này bằng cách sử dụng replace: tùy chọn bên dưới changetype: modify .

Điều này hoạt động theo cách gần giống như lệnh add: :, nhưng theo mặc định, loại bỏ mọi sự xuất hiện hiện có của thuộc tính khỏi mục nhập và thay thế nó bằng các giá trị được xác định sau đó. Ví dụ, nếu ta nhận thấy rằng cuối cùng ta add: lệnh đã có một email không chính xác, ta có thể sửa đổi nó với các replace lệnh như thế này:

dn: uid=sbrown20,ou=People,dc=example,dc=com changetype: modify replace: mail mail: sbrown2@example.com 

Lưu ý điều này sẽ thay thế mọi trường hợp của mail trong mục nhập. Điều này rất quan trọng đối với các thuộc tính đa giá trị có thể được xác định nhiều lần cho mỗi mục nhập (như mail ). Nếu bạn chỉ muốn thay thế một lần xuất hiện duy nhất của một thuộc tính, bạn nên sử dụng tùy chọn thuộc tính delete: (được mô tả bên dưới) kết hợp với tùy chọn add: thuộc tính (được mô tả ở trên).

Nếu thay đổi này được lưu trữ trong một file có tên sbrownchangemail.ldif , ta có thể thay thế email của Sally bằng lệnh :

  • ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f sbrownchangemail.ldif

Xóa các thuộc tính khỏi một mục nhập

Nếu bạn muốn xóa một thuộc tính khỏi một mục nhập, bạn có thể sử dụng lệnh delete: Bạn sẽ chỉ định thuộc tính bạn muốn xóa làm giá trị của tùy chọn. Nếu bạn muốn xóa một version cụ thể của thuộc tính, bạn có thể chỉ định sự xuất hiện của thuộc tính key-value cụ thể trên dòng sau. Nếu không, mọi sự xuất hiện của thuộc tính đó trong mục nhập sẽ bị xóa.

Ví dụ: điều này sẽ xóa mọi thuộc tính mô tả trong mục nhập của John Smith:

dn: uid=jsmith1,ou=People,dc=example,dc=com changetype: modify delete: description 

Tuy nhiên, điều này sẽ chỉ xóa email được chỉ định:

dn: uid=jsmith1,ou=People,dc=example,dc=com changetype: modify delete: mail mail: jsmith1@example.com 

Vì ta đã cung cấp cho John hai địa chỉ email trước đó, nên địa chỉ email khác sẽ được giữ nguyên theo yêu cầu này.

Nếu những thay đổi này nằm trong các file có tên jsmithrmdesc.ldifjsmithrmextramail.ldif , ta có thể áp dụng chúng bằng lệnh :

  • ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f jsmithrmdesc.ldif
  • ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f jsmithrmextramail.ldif

Chỉ định Nhiều Thay đổi Thuộc tính

Đây là thời điểm tốt để nói về việc chỉ định nhiều thay đổi thuộc tính cùng một lúc. Đối với một mục nhập duy nhất trong file LDIF, bạn có thể chỉ định nhiều thay đổi thuộc tính bằng cách tách chúng bằng một dòng chỉ được điền bằng ký tự - . Sau dấu phân tách, loại thay đổi thuộc tính phải được chỉ định và các thuộc tính bắt buộc phải được cung cấp.

Ví dụ: ta có thể xóa thuộc tính email còn lại của John, đổi tên của anh ấy thành “Johnny Smith” và thêm vị trí của anh ấy bằng cách tạo một file có nội dung sau:

dn: uid=jsmith1,ou=People,dc=example,dc=com changetype: modify delete: mail - replace: cn cn: Johnny Smith - add: l l: New York 

Để áp dụng tất cả những thay đổi này trong một lệnh, ta sẽ sử dụng cùng một định dạng ldapmodify mà ta đã sử dụng từ trước đến nay:

  • ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f multichange.ldif

Đổi tên và di chuyển mục nhập

Tùy chọn changetype: modrdn giúp bạn có thể đổi tên hoặc di chuyển các giá trị đã nhập . Sau khi chỉ định dn: bạn muốn nhắm đến , hãy đặt tùy chọn changetype: modrdn .

Đổi tên mục nhập

Giả sử rằng ta đã nhập sai tên user của Sally khi ta nhập tên user này vào hệ thống lần đầu. Vì nó được sử dụng trong DN của mục nhập, nên nó không thể đơn giản được thay thế bằng các tùy chọn changetype: modifyreplace: vì RDN của mục nhập sẽ không hợp lệ. Nếu tên user thực của cô ấy là sbrown200 , ta có thể thay đổi DN của mục nhập, tạo bất kỳ thuộc tính cần thiết nào trong quá trình thực hiện, bằng file LDIF như sau:

dn: uid=sbrown20,ou=People,dc=example,dc=com changetype: modrdn newrdn: uid=sbrown200 deleteoldrdn: 0 

Ta có thể áp dụng thay đổi này bằng lệnh này:

  • ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f fixsallydn.ldif

Điều này sẽ làm cho mục hoàn chỉnh trông giống như sau:

dn: uid=sbrown200,ou=People,dc=example,dc=com objectClass: inetOrgPerson description: Sally Brown from engineering.  Sally is responsibl  e for designing the blue prints and testing the structural int  egrity of the design. cn: Sally Brown sn: Brown uid: sbrown20 uid: sbrown200 mail: sbrown2@example.com 

Như bạn thấy , DN của ta đã được điều chỉnh để sử dụng cặp thuộc tính / giá trị mới. Thuộc tính đã được thêm vào mục nhập để thực hiện điều này.

Bạn có thể nhận thấy hai điều trong ví dụ trên. Đầu tiên, ta đặt một tùy chọn có tên là deleteoldrdn thành “0”. Thứ hai, mục nhập kết quả có cả uid: sbrown20uid: sbrown200 .

Tùy chọn deleteoldrdn phải được đặt khi thay đổi DN của một mục nhập. Đặt deleteoldrdn thành “0” khiến LDAP giữ thuộc tính cũ được sử dụng trong DN cùng với thuộc tính mới trong mục nhập. Đôi khi đây là điều bạn muốn, nhưng thường thì bạn cần xóa hoàn toàn thuộc tính cũ khỏi mục nhập sau khi DN đã thay đổi. Bạn có thể thực hiện bằng cách đặt deleteoldrdn thành “1”.

Hãy giả sử ta đã mắc lỗi và tên user thực sự của Sally là sbrown2 . Ta có thể đặt deleteoldrdn thành “1” để xóa cá thể sbrown200 hiện đang được sử dụng trong DN khỏi mục nhập sau khi đổi tên. Ta sẽ tiếp tục và bao gồm một changetype: modify bổ sung changetype: modifydelete: cặp để loại bỏ tên user bị lạc khác, sbrown20 , vì ta đã giữ nguyên điều đó trong lần đổi tên đầu tiên:

dn: uid=sbrown200,ou=People,dc=example,dc=com changetype: modrdn newrdn: uid=sbrown2 deleteoldrdn: 1  dn: uid=sbrown2,ou=People,dc=example,dc=com changetype: modify delete: uid uid: sbrown20 

Áp dụng file như sau:

  • ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f fix2sallydn.ldif

Sự kết hợp này sẽ không thêm tên user mới với thay đổi ( sbrown200 sẽ bị xóa) và sửa đổi mục nhập thứ hai sẽ xóa giá trị ban đầu của tên user ( sbrown20 ).

Di chuyển một mục nhập

Nếu bạn cần phải di chuyển mục đến một vị trí mới, cài đặt bổ sung cho changetype: modrdnnewsuperior: tùy chọn. Khi sử dụng tùy chọn này, bạn có thể chỉ định một vị trí mới trên DIT để di chuyển mục nhập đến. Điều này sẽ đặt mục nhập dưới DN mẹ được chỉ định trong quá trình thay đổi.

Ví dụ: nếu ta muốn di chuyển Sally dưới mục nhập ou=superusers , ta có thể thêm mục nhập này và sau đó di chuyển cô ấy đến nó bằng lệnh :

dn: ou=superusers,dc=example,dc=com changetype: add objectClass: organizationalUnit ou: superusers  dn: uid=sbrown2,ou=People,dc=example,dc=com changetype: modrdn newrdn: uid=sbrown2 deleteoldrdn: 0 newsuperior: ou=superusers,dc=example,dc=com 

Giả sử rằng điều này được lưu trữ trong một file có tên mksuperuser.ldif , ta có thể áp dụng các thay đổi như sau:

  • ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f mksuperuser.ldif

Điều này dẫn đến một sự di chuyển và không bao giờ là một bản sao.

Trong trường hợp này, ta không muốn thực sự thay đổi RDN của mục nhập, vì vậy ta đặt giá trị newrdn: thành cùng giá trị mà nó hiện có. Ta cũng có thể dễ dàng đổi tên trong quá trình di chuyển nếu ta muốn. Trong trường hợp này, newsuperior: setting là dòng duy nhất của thay đổi thứ hai thực sự tác động đến trạng thái của mục nhập.

Mặt khác: Thêm dữ liệu binary vào mục nhập

Phần này tách biệt với thông tin ở trên vì nó có thể phù hợp với các phần về cách tạo mục nhập hoặc xác định các thuộc tính bổ sung.

LDAP có khả năng lưu trữ dữ liệu binary cho các thuộc tính nhất định. Ví dụ: lớp inetOrgPerson cho phép một thuộc tính gọi là jpegPhoto , được dùng để lưu trữ ảnh của một người hoặc biểu tượng user . Một thuộc tính khác của objectClass này có thể sử dụng dữ liệu binary là thuộc tính audio .

Để thêm loại dữ liệu này vào mục nhập LDAP, bạn phải sử dụng một định dạng đặc biệt. Khi chỉ định thuộc tính, ngay sau dấu hai chấm, hãy sử dụng ký tự nhỏ hơn (<) và dấu cách. Sau đó, bao gồm đường dẫn đến file được đề cập.

Ví dụ: nếu bạn có một file có tên john.jpg trong /tmp , bạn có thể thêm file vào mục nhập của John bằng file LDIF trông giống như sau:

dn: uid=jsmith1,ou=People,dc=example,dc=com changetype: modify add: jpegPhoto jpegPhoto:< file:///tmp/john.jpg 

Hãy chú ý đến vị trí của dấu hai chấm, ít hơn ký tự và khoảng trắng. Nếu file của bạn nằm trên đĩa, tiền tố file:// được dùng . Đường dẫn sẽ thêm một dấu gạch chéo bổ sung để chỉ ra folder root nếu bạn đang sử dụng một đường dẫn tuyệt đối.

Điều này sẽ hoạt động theo cùng một cách với file âm thanh:

dn: uid=jsmith1,ou=People,dc=example,dc=com changetype: modify add: audio audio:< file:///tmp/hellojohn.mp3 

Khi bạn đã xử lý file LDIF, file thực tế sẽ được mã hóa trong dịch vụ folder LDAP của bạn. Điều quan trọng cần ghi nhớ là vì việc thêm số lượng file đáng kể như thế này sẽ có tác động đến kích thước và hiệu suất dịch vụ của bạn.

Khi bạn cần truy xuất dữ liệu đã mã hóa bằng công cụ ldapsearch , bạn cần thêm cờ -t , cờ này sẽ cho phép ghi file vào /tmp . Tên file được tạo sẽ được chỉ ra trong kết quả.

Ví dụ: ta có thể sử dụng lệnh này để ghi dữ liệu binary vào một file tạm thời:

  • ldapsearch -LLL -x -H ldap:// -t -b "dc=example,dc=com" "uid=jsmith1"

Kết quả tìm kiếm sẽ như thế này:

kết quả ldapsearch
dn: uid=jsmith1,ou=People,dc=example,dc=com objectClass: inetOrgPerson sn: Smith uid: jsmith1 cn: Johnny Smith l: New York audio:< file:///tmp/ldapsearch-audio-n5GRF6 

Nếu ta vào /tmp , ta có thể tìm thấy file . Nó có thể được đổi tên khi cần thiết và phải ở trạng thái chính xác như trước khi nhập nó vào folder .

Hãy cẩn thận khi thực hiện thao tác này nhiều lần, vì một file mới sẽ được ghi ra mỗi khi thực hiện tìm kiếm. Bạn có thể dễ dàng làm đầy đĩa mà không nhận ra nếu không chú ý.

Kết luận

Bây giờ, bạn đã có một xử lý khá tốt về cách thao tác các mục nhập trong cây thông tin folder LDAP bằng cách sử dụng các file được định dạng LDIF và một vài công cụ. Mặc dù một số ứng dụng LDAP nhất định có thể làm cho file LDIF không cần thiết cho các hoạt động hàng ngày, nhưng file LDIF có thể là cách tốt nhất để thực hiện các hoạt động hàng loạt trên các mục nhập DIT của bạn. Điều quan trọng nữa là phải biết cách sửa đổi các mục nhập của bạn bằng cách sử dụng các phương pháp này cho mục đích quản trị, khi cài đặt dịch vụ folder ban đầu và khi khắc phục các sự cố có thể ngăn client truy cập chính xác vào dữ liệu .


Tags:

Các tin liên quan