Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 27137 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]
ldap-howto.xml
ldap-howto.xml (text/plain), 13.23 KB, created by
Erwin (RETIRED)
on 2004-03-10 00:18:14 UTC
(
hide
)
Description:
ldap-howto.xml
Filename:
MIME Type:
Creator:
Erwin (RETIRED)
Created:
2004-03-10 00:18:14 UTC
Size:
13.23 KB
patch
obsolete
><?xml version='1.0' encoding='UTF-8'?> ><!-- English doc rev. 1.10 --> ><!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> > ><guide link="/doc/id/ldap-howto.xml" lang="id"> ><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> ><author title="Translator"> > <mail link="namkhong@yahoo.com">Siauw Nam Khong</mail> ></author> > ><abstract> >Panduan ini memperkenalkan dasar-dasar dari LDAP dan menunjukkan kepada Anda >cara-cara men-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 adalah 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, apakah itu >X.500 dan mengapa LDAP diciptakan? ></p> > ><p> >X.500 adalah model untuk Layanan Direktori dari konsep OSI. X.500 berisi >defenisi nama dan protokol untuk menanyakan (query) dan memperbarui >direktori. Tetapi ditemukan bahwa solusi X.500 terlalu berlebihan dalam banyak >kasus. 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 sebagai versi ramping dari X.500. ></p> > ></body> ></section> ><section> ><title>Wah, saya tidak mengerti. Apakah 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 >dapat diterima dengan syarat 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 ini, >maka setiap simpul dari pohon itu harus didefenisikan. Untuk menamai simpul >tersebut, LDAP menggunakan skema penamaan. Hampir semua distribusi LDAP >(termasuk OpenLDAP) memiliki sejumlah skema pra-defenisi (dan umumnya >disepakati), seperti inetorgperson, suatu skema yang sering digunakan untuk >mendefenisikan user. ></p> > ><p> >User yang tertarik dipersilahkan 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="Instal 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 file <path>/etc/openldap/slapd.conf</path> dan tambahkan baris-baris >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># Defenisikan 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 akan mengedit file konfigurasi LDAP: ></p> > ><pre caption="/etc/openldap/ldap.conf"> ># <i>nano -w /etc/openldap/ldap.conf</i> ><codenote>Tambahkan baris-baris 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 temui sebaik-baiknya. Bila Anda ditanya >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 file <path>/etc/conf.d/slapd</path> dan tambahkan baris berikut >ini, tambahkan tanda komentar pada baris yang telah ada: ></p> > ><pre caption="/etc/conf.d/slapd"> >OPTS="-h 'ldaps:// ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock'" ></pre> > ><p> >Menjalankan slapd: ></p> > ><pre caption="Menjalankan 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 >meningkatkan 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 akan memindahkan account user. Buka file ><path>/usr/share/migrationtools/migrate_common.ph</path> dan edit baris >berikut ini: ></p> > ><pre caption="/usr/share/migrationtools/migrate_common.ph"> >$DEFAULT_BASE = "dc=genfic,dc=com"; >$EXTENDED_SCHEMA = 1; ><comment># Hapus tanda komentar pada baris berikut kecuali jika Anda memiliki skema mail terload</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 dapat >dibaca oleh LDAP. Sekarang tambahkan baris-baris berikut ini ke direktori kita: ></p> > ><pre caption="Import 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 ubahlah <path>/etc/ldap.conf</path> seperti berikut: ></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 untuk memeriksa LDAP untuk memperoleh >account sistem: ></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 sebaiknya di-chmod ke 600. Apa yang penulis >lakukan adalah menjaga file tersebut tetap kosong dan ketika penulis perlu >mengubah password seseorang yang berada di ldap dan ><path>/etc/passwd</path>, penulis meletakkan pass tersebut di file tersebut >selama 10 detik selama penulis 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 dapat diubah >oleh user. Jika informasi itu milik Anda, maka Anda mempunyai hak tulis >pada informasi tersebut; jika informasi itu milik user yang lain maka Anda >dapat membaca informasi tersebut; orang-orang yang tidak dikenal dapat >mengirimkan login/pass untuk mendapatkan login. Ada 4 tingkat, dari yang >paling bawah sampai yang paling tinggi: <c>auth search read write</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 sama 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>Mantain direktori</title> ><body> > ><p> >Anda dapat mulai menggunakan direktori untuk mengotentikasi user pada >apache/proftpd/qmail/samba. Anda dapat mengaturnya melalui Webmin, yang >memberikan kemudahan untuk interaksi pengaturannya. Anda juga dapat >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 >keren 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