Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 27128 Details for
Bug 44110
[id] ldap-howto.xml
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[id] ldap-howto.xml (reattach, sorry for duplication also)
ldap-howto.xml (text/plain), 13.11 KB, created by
Siauw Nam Khong
on 2004-03-09 17:52:27 UTC
(
hide
)
Description:
[id] ldap-howto.xml (reattach, sorry for duplication also)
Filename:
MIME Type:
Creator:
Siauw Nam Khong
Created:
2004-03-09 17:52:27 UTC
Size:
13.11 KB
patch
obsolete
><?xml version='1.0' encoding='UTF-8'?> ><!-- $Header: /var/www/www.gentoo.org/raw_cvs/gentoo/xml/htdocs/doc/en/ldap-howto.xml,v 1.10 2004/02/19 15:08:33 swift Exp $ --> ><!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> > ><guide link="/doc/en/ldap-howto.xml"> ><title>Panduan Gentoo untuk Otentikasi OpenLDAP</title> > ><author title="Author"> > <mail link="sj7trunks@gentoo.org">Benjamin Coles</mail> ></author> > ><author title="Editor"> > <mail link="swift@gentoo.org">Sven Vermeulen</mail> ></author> > ><author title="Editor"> > <mail link="tseng@gentoo.org">Brandon Hale</mail> ></author> ><author title="Editor"> > <mail link="bennyc@gentoo.org">Benny Chuang</mail> ></author> > > ><abstract> >Panduan ini memperkenalkan dasar-dasar dari LDAP dan menunjukkan kepada Anda cara-cara setup OpenLDAP untuk kebutuhan otentikasi di antara perangkat-perangkat Gentoo. ></abstract> > ><license/> > ><version>0.5</version> ><date>January 29, 2004</date> > ><chapter> ><title>Perkenalan dengan OpenLDAP</title> ><section> ><title>Apakah LDAP itu?</title> ><body> > ><p> >LDAP singkatan dari <e>Lightweight Directory Access Protocol</e>. Dibuat berdasarkan X.500, LDAP memiliki hampir semua fungsi-fungsi utama X.500, tetapi tidak memiliki fungsi yang lebih esoteris dari X.500. Sekarang apa itu X.500 dan mengapa ada LDAP? ></p> > ><p> >X.500 adalah model untuk Layanan Direktori dari konsep OSI. X.500 berisi definisi nama dan protokol untuk menanyakan (query) dan memperbarui direktori. Tetapi ditemukan bahwa solusi X.500 terlalu berlebihan dalam banyak situasi. >Sekarang LDAP. Seperti X.500 juga yang berisi model data/nama untuk direktori dan protokol juga. Tetapi LDAP didisain untuk berjalan langsung pada lingkungan TCP/IP. Anggaplah LDAP adalah versi ramping dari X.500. ></p> > ></body> ></section> > ><section> ><title>Wah, saya tidak mengerti. Apa itu direktori?</title> ><body> > ><p> >Direktori adalah database yang didisain secara khusus untuk melayani pertanyaan (query) yang berulang-ulang tetapi jarang diperbarui. Tidak seperti database umum, Direktori tidak mempunyai dukungan fungsi transaksi atau roll-back. Direktori mudah direplikasi untuk meningkatkan keberadaan dan ketahanannya. Jika direktori direplikasi, maka ketidakkonsistenan sementara bisa diterima asal proses sinkronisasinya berjalan pada akhirnya. ></p> > ></body> ></section> > ><section> ><title>Bagaimana struktur informasinya?</title> ><body> > ><p> >Semua informasi yang berada pada direktori terstruktur secara hirarki. Lebih jauh lagi, bila Anda ingin memasukkan data ke dalam suatu direktori, direktori tersebut harus tahu bagaimana cara menyimpan data ini ke dalam suatu pohon. Contoh berikut menunjukkan perusahaan fiktif dan pohon berbasis Internet: ></p> > ><pre caption = "Struktur Organisasi untuk GenFic, perusahaan Fiktif Gentoo"> >dc: com > | >dc: genfic <comment>(Organisasi)</comment> > / \ >ou: people servers <comment>(Unit Organisasi)</comment> > / \ .. >uid: .. jhon <comment>(OU-data khusus)</comment> ></pre> > ><p> >Karena Anda tidak memasukkan data ke database dalam struktur seni-ASCII di sini, maka setiap simpul dari pohon itu harus didefinisikan. Untuk menamai simpul tersebut, LDAP menggunakan skema penamaan. Hampir semua distribusi LDAP (termasuk OpenLDAP) memiliki sejumlah skema pra-definisi (dan umumnya disepakati), seperti inetorgperson, suatu skema yang sering digunakan untuk mendefinisikan user. ></p> > ><p> >User yang tertarik dipersilakan untuk membaca <uri >link="http://www.openldap.org/doc/admin21/">Panduan Admin OpenLDAP</uri>. ></p> > ></body> ></section> > ></chapter> > > ><chapter> ><title>Konfigurasi OpenLDAP</title> ><section> ><title>Konfigurasi Awal</title> ><body> > ><note> >Dalam dokumen ini kami menggunakan alamat genfic.com sebagai contoh. Anda tentu saja harus mengubahnya. Tetapi pastikan bahwa simpul teratas adalah domain tingkat tertinggi yang resmi (net, com, cc, be, ...). ></note> > ><p> >Pertama-tama emerge semua komponen yang penting pada server: ></p> > ><pre caption="Install OpenLDAP"> ># <i>emerge openldap pam_ldap nss_ldap migrationtools</i> ># <i>chown ldap:ldap /var/lib/openldap-ldbm /var/lib/openldap-data /var/lib/openldap-slurp</i> ></pre> > ><p> >Edit <path>/etc/openldap/slapd.conf</path> dan tambahkan berikut ini setelah ><c>core.schema</c>: ></p> > ><pre caption="/etc/openldap/slapd.conf"> ><comment># Masukkan skema data yang dibutuhkan</comment> >include /etc/openldap/schema/cosine.schema >include /etc/openldap/schema/inetorgperson.schema >include /etc/openldap/schema/nis.schema > ><comment># Gunakan crypt untuk hash password</comment> >password-hash {crypt} > ><comment># Definisikan properti SSL dan TLS (opsional)</comment> >TLSCertificateFile /etc/ssl/ldap.pem >TLSCertificateKeyFile /etc/openldap/ssl/ldap.pem >TLSCACertificateFile /etc/ssl/ldap.pem > ><codenote>Selanjutnya ...</codenote> > >database ldbm >suffix "dc=genfic,dc=com" >rootdn "cn=Manager,dc=genfic,dc=com" >rootpw <i>{MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==</i> >directory /var/lib/openldap-ldbm >index objectClass eq > ><codenote>Anda juga bisa mendapatkan password yang dienkripsi seperti di atas dengan slappasswd -h {Md5}</codenote> ></pre> > ><p> >Selanjutnya kita mengedit file konfigurasi LDAP: ></p> > ><pre caption="/etc/openldap/ldap.conf"> ># <i>nano -w /etc/openldap/ldap.conf</i> ><codenote>Tambahkan berikut ini ...</codenote> > >BASE dc=genfic, dc=com >URI ldaps://auth.genfic.com:636/ >TLS_REQCERT allow ></pre> > ><p> >Sekarang Anda akan membuat sertifikat SSL untuk mengamankan direktori Anda. >Jawablah pertanyaan yang Anda terima sebaik-baiknya. Bila Anda ditanyai mengenai <e>Common Name</e>, masukkan nama klien yang akan digunakan untuk menghubungi server. Biasanya ini adalah nama domain lengkap (contohnya <path>auth.genfic.com</path>). ></p> > ><pre caption="Membuat Sertifikat SSL"> ># <i>cd /etc/ssl</i> ># <i>openssl req -config /etc/ssl/openssl.cnf -new -x509 -nodes -out \ >ldap.pem -keyout /etc/openldap/ssl/ldap.pem -days 999999</i> ></pre> > ><p> >Sekarang edit <path>/etc/conf.d/slapd</path> dan tambahkan berikut ini, kasih tanda komentar pada baris yang sudah ada: ></p> > ><pre caption="/etc/conf.d/slapd"> >OPTS="-h 'ldaps:// ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock'" ></pre> > ><p> >Memulai slapd: ></p> > ><pre caption = "Memulai SLAPd"> ># <i>/etc/init.d/slapd start</i> ></pre> > ><p> >Anda bisa mengujinya dengan perintah berikut: ></p> > ><pre caption = "Menguji daemon SLAPd"> ># <i>ldapsearch -D "cn=Manager,dc=genfic,dc=com" -W</i> ></pre> > ><p> >Jika Anda menerima pesan kesalahan, coba tambahkan <c>-d 255</c> untuk menambahkan jumlah pesan yang bisa dibaca dan coba pecahkan masalah yang Anda hadapi. ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Migrasi Data yang Ada</title> ><section> ><title>Migrasi Account User</title> ><body> > ><p> >Berikutnya, kita memindahkan account user. Buka file ><path>/usr/share/migrationtools/migrate_common.ph</path> dan edit yang berikut ini: ></p> > ><pre caption="/usr/share/migrationtools/migrate_common.ph"> >$DEFAULT_BASE = "dc=genfic,dc=com"; >$EXTENDED_SCHEMA = 1; ><comment># Buang tanda komentar pada baris berikut kecuali jika Anda tidak memiliki skema mail yang dimuat</comment> ><comment>#$DEFAULT_MAIL_DOMAIN = "genfic.com";</comment> ><comment>#$DEFAULT_MAIL_HOST = "mail.genfic.com";</comment> ></pre> > ><p> >Sekarang jalankan skrip migrasi: ></p> > ><pre caption="Menjalankan skrip migrasi"> ># <i>export ETC_SHADOW=/etc/shadow</i> ># <i>cd /usr/share/migrationtools</i> ># <i>./migrate_base.pl > /tmp/base.ldif</i> ># <i>./migrate_group.pl /etc/group /tmp/group.ldif</i> ># <i>./migrate_hosts.pl /etc/hosts /tmp/hosts.ldif</i> ># <i>./migrate_passwd.pl /etc/passwd /tmp/passwd.ldif</i> ></pre> > ><p> >Langkah terakhir adalah memindahkan file di atas ke file ldif yang bisa dibaca oleh LDAP. Sekarang tambahkan baris-baris berikut ini ke direktori kita: ></p> > ><pre caption="Impor data ke direktori kita"> ># <i>ldapadd -D "cn=Manager,dc=genfic,dc=com" -W -f /tmp/base.ldif</i> ># <i>ldapadd -D "cn=Manager,dc=genfic,dc=com" -W -f /tmp/group.ldif</i> ># <i>ldapadd -D "cn=Manager,dc=genfic,dc=com" -W -f /tmp/passwd.ldif</i> ># <i>ldapadd -D "cn=Manager,dc=genfic,dc=com" -W -f /tmp/hosts.ldif</i> ></pre> > ></body> ></section> ></chapter> > ><chapter> ><title>Konfigurasi Otentikasi</title> ><section> ><title>Mengkonfigurasi PAM</title> ><body> > ><p> >Berikutnya, kita akan mengkonfigurasi PAM untuk mengijinkan otorisasi LDAP. Tambahkan baris-baris berikut pada <path>/etc/pam.d/system-auth</path>: ></p> > ><pre caption="/etc/pam.d/system-auth"> >auth sufficient /lib/security/pam_ldap.so use_first_pass >account sufficient /lib/security/pam_ldap.so >password sufficient /lib/security/pam_ldap.so use_authtok >session required /lib/security/pam_mkhomedir.so skel=/etc/skel/ umask=0 >session optional /lib/security/pam_ldap.so ></pre> > ><p> >Sekarang ubah <path>/etc/ldap.conf</path> untuk membaca: ></p> > ><pre caption="/etc/ldap.conf"> ><comment>#host 127.0.0.1</comment> ><comment>#base dc=padl,dc=com</comment> > >ssl start_tls >ssl on >suffix "dc=genfic,dc=com" ><comment>#rootbinddn uid=root,ou=People,dc=genfic,dc=com</comment> > >uri ldaps://auth.genfic.com/ >pam_password exop > >ldap_version 3 >pam_filter objectclass=posixAccount >pam_login_attribute uid >pam_member_attribute memberuid >nss_base_passwd ou=People,dc=genfic,dc=com >nss_base_shadow ou=People,dc=genfic,dc=com >nss_base_group ou=Group,dc=genfic,dc=com >nss_base_hosts ou=Hosts,dc=genfic,dc=com > >scope one ></pre> > ><p> >Akhirnya, konfigurasikan klien Anda sehingga account sistem mereka dicek melalui LDAP: ></p> > ><pre caption="/etc/nsswitch.conf"> >passwd: files ldap >group: files ldap >shadow: files ldap ></pre> > ><p> >Untuk menguji perubahan tersebut, ketikkan: ></p> > ><pre caption="Testing LDAP Auth"> ># <i>getent passwd|grep 0:0</i> > ><codenote>Anda akan mendapatkan dua baris jawaban:</codenote> >root:x:0:0:root:/root:/bin/bash >root:x:0:0:root:/root:/bin/bash ></pre> > ><p> >Jika Anda perhatikan, satu dari beberapa baris yang Anda masukkan ke dalam konfigurasi <path>/etc/ldap.conf</path> diberi tanda komentar (baris <c>rootbinddn</c>): Anda tidak membutuhkannya kecuali jika Anda sebagai superuser ingin mengubah password user. Dalam kasus ini Anda perlu memunculkan password root ke <path>/etc/ldap.secret</path> dalam bentuk teks biasa. Ini <brite>BERBAHAYA </brite> dan harus di-chmod ke 600. Apa yang saya lakukan adalah menjaga file tersebut tetap kosong dan ketika saya perlu mengubah password seseorang yang berada di ldap dan <path>/etc/passwd</path>, saya meletakkan pass tersebut di file tersebut selama 10 detik selama saya mengubahnya dan membuangnya setelah selesai. ></p> > ></body> ></section> > ><section> ><title>Perijinan OpenLDAP</title> ><body> > ><p> >Jika kita perhatikan <path>/etc/openldap/slapd.conf</path> Anda akan menyadari bahwa Anda dapat menentukan ACL (perijinan jika Anda senang istilahnya) untuk data yang bisa dibaca dan/atau ditulisi oleh user: ></p> > ><pre caption="/etc/openldap/slapd.conf"> >access to * > by dn="uid=root,ou=people,dc=genfic,dc=com" write > by users read > by anonymous auth >access to attrs=userPassword,gecos,description,loginShell > by self write ></pre> > ><p> >Konfigurasi ini memberikan Anda hak untuk akses ke semua hal yang bisa diubah oleh user. Jika informasi itu milik Anda, maka Anda mempunyai hak tulis kepadanya; jika informasi itu milik user yang lain maka Anda bisa membacanya; orang-orang yang tidak dikenal bisa mengirimkan login/pass untuk mendapatkan login. Ada 4 tingkat, dari yang paling bawah sampai yang paling tinggi: <c>auth mencari membaca menulis</c>. ></p> > ><p> >ACL berikut lebih aman karena membatasi user biasa untuk membaca password orang lain yang dishadow: ></p> > ><pre caption="/etc/openldap/slapd.conf"> >access to dn=".*,dc=genfic,dc=com" attr="userPassword" > by dn="uid=root,ou=people,dc=genfic,dc=com" write > by dn="uid=John, ou=People,dc=genfic,dc=com" write > by anonymous auth > by self write > by * search > >access to * > by dn="uid=root,ou=People,dc=genfic,dc=com" write > by * read ></pre> > ><p> >Contoh ini memberikan root dan John akses untuk membaca/menulis/mencari segala sesuatu pada pohon di bawah <path>dc=genfic,dc=com</path>. Konfigurasi ini juga memungkinkan user mengubah <path>userPassword</path> mereka. Pada pernyataan terakhir, orang-orang yang lain hanya memiliki kemampuan untuk mencari, yang berarti mereka dapat mengisi filter cari, tetapi tidak dapat membaca hasil pencarian. Sekarang Anda bisa memiliki banyak ACL, tetapi aturannya tetap yaitu diproses dari bawah ke atas, sehingga tingkat paling atas Anda seharusnya merupakan ACL yang paling terbatas. ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Bekerja dengan OpenLDAP</title> ><section> ><title>Memelihara direktori</title> ><body> > ><p> >Anda bisa mulai menggunakan direktori untuk mengotentikasi user pada >apache/proftpd/qmail/samba. Anda bisa mengaturnya dari Webmin, yang memberikan kemudahan untuk interaksi pengaturannya. Anda juga bisa menggunakan gq atau directory_administrator. ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Ucapan terima kasih</title> ><section> ><body> > ><p> >Kami ingin berterima kasih kepada Matt Heler yang telah meminjamkan komputernya untuk tujuan penulisan panduan ini. Terima kasih juga kepada teman-teman yang menyenangkan di #ldap @ irc.freenode.net. ></p> > ></body> ></section> > ></chapter> ></guide>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 44110
:
27080
|
27128
|
27137
|
27146