Perkhidmatan Direktori dengan LDAP [5]: OpenLDAP (II)

Mari teruskan, bukan tanpa berunding terlebih dahulu:

Dalam catatan ini kita akan melihat:

Pengesahan pengguna tempatan

Setelah pelayan OpenLDAP berjalan, jika kita ingin menguji atau mempunyai pengesahan tempatan pengguna berdaftar-atau yang akan kita daftarkan- dalam Direktori, kita mesti memasang dan mengkonfigurasi pakej yang diperlukan.

Dalam Squeeze, pakej yang terlibat adalah:

libnss-ldap: Menyediakan Perkhidmatan Pertukaran Nama (Suis Perkhidmatan Nama NSS) yang membolehkan pelayan LDAP bertindak sebagai pelayan nama.

Ini bermaksud memberikan maklumat mengenai Akaun Pengguna, ID Kumpulan, maklumat mengenai host, Alias, NetGroups, dan pada dasarnya data lain yang biasanya diperoleh dari fail teks biasa seperti / etc / passwd/ dll / kumpulan, dll, atau perkhidmatan NIS.

libpam-ldap: "Modul Pengesahan Pluggable untuk LDAP", Atau Modul PAM untuk LDAP. Menyediakan antara muka antara pelayan LDAP dan sistem pengesahan melalui PAM.

nscd: "Nama Perkhidmatan Cache Daemon", Atau Daemon untuk Cache Perkhidmatan Nama. Ia mengendalikan pencarian kata laluan, kumpulan dan host dan menyimpan hasil carian dalam cache untuk rujukan di masa depan.

: ~ # aptitude pasang jari libnss-ldap

Memasang pakej libnss-ldap, yang juga dipasang sebagai pergantungan libpam-ldap sudah syaitan nscd, akan membawa kita melalui Wizard Konfigurasi, yang pertanyaannya harus kita jawab dengan tepat:

libnss-01

libnss-02

libnss-03

libnss-04

libnss-05

libnss-06

libpam-01

libpam-02

libpam-03

libpam-04

Sekiranya kita mahu mengkonfigurasi semula pakej libnss-ldap dan / atau libpam-ldap, kita mesti melaksanakan:

: ~ # dpkg-reconfigure libnss-ldap
: ~ # dpkg-reconfigure libpam-ldap

Kemudian kami mengubah suai fail /etc/nsswitch.conf dan kami meninggalkannya dengan kandungan berikut:

: ~ # nano /etc/nsswitch.conf
# /etc/nsswitch.conf # # Contoh konfigurasi fungsi GNU Name Service Switch. # Sekiranya anda memasang pakej `glibc-doc-referensi 'dan` info', cubalah: # `info libc" Name Service Switch "'untuk maklumat mengenai fail ini. passwd: Compat ldap group: Compat ldap shadow: Compat ldap host: files dns network: files protokol: db files services: db files ethers: db files rpc: db files netgroup: nis

Untuk perubahan yang dibuat pada fail /etc/nsswitch.conf berkuat kuasa, kami memulakan semula perkhidmatan nscd:

: ~ # perkhidmatan mulakan semula nscd

Perincian penting adalah mengubah suai fail /etc/pam.d/common-session agar folder pengguna dibuat di pelayan tempatan semasa meloginya, pengguna yang berdaftar di Direktori:

: ~ # nano /etc/pam.d/common-session
[----]
sesi diperlukan pam_mkhomedir.so skel = / etc / skel / umask = 0022
### Baris di atas mesti disertakan SEBELUM # berikut adalah modul per-paket (blok "Utama") [----]

Isi pangkalan data

Untuk mengisi pangkalan data Direktori atau memulakannya, kita mesti menambah Unit Organisasi utama, mendaftarkan sekurang-kurangnya satu Kumpulan Pengguna, dan menambahkan pengguna. Untuk melakukan ini, kami membuat fail dalam format LDIF, yang kemudian kami tambahkan ke Direktori, dengan kandungan berikut:

: ~ # nano content.ldif
dn: ou = People, dc = friends, dc = cu objectClass: organationalUnit ou: People dn: ou = Groups, dc = friends, dc = cu objectClass: organationalUnit ou: Kumpulan dn: cn = cincin, ou = Kumpulan, dc = kawan, dc = objek cuKelas: posixGroup cn: rings gidNumber: 10000 dn: uid = frodo, ou = People, dc = friends, dc = cu objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: frodo sn: Bagins diberikanName: Frodo cn : Paparan Frodo BaginsNama: Frodo Bagins uidNombor: 10000 gidNombor: 10000 pengguna Kata Laluan: frodo mail: frodo@amigos.cu gecos: Frodo Bagins loginShell: / bin / bash homeDirektori: / rumah / frodo

Kami menambahkan kandungan fail ke Direktori:

: ~ # ldapadd -x -D cn = admin, dc = friends, dc = cu -W -f content.ldif
Masukkan Kata Laluan LDAP: menambahkan entri baru "ou = Orang, dc = kawan, dc = cu" menambah entri baru "ou = Kumpulan, dc = kawan, dc = cu" menambah entri baru "cn = cincin, ou = Kumpulan, dc = kawan, dc = cu "menambah entri baru" uid = frodo, ou = People, dc = friends, dc = cu "

Kami menjalankan pemeriksaan yang berkaitan:

: ~ # id frodo
uid = 10000 (frodo) gid = 10000 (cincin) kumpulan = 10000 (cincin)

: ~ # getent passwd | grep frodo
frodo: x: 10000: 10000: Frodo Bagins: / rumah / frodo: / tong / bas

: ~ # jari frodo
Log masuk: frodo Nama: Frodo Bagins Direktori: / home / frodo Shell: / bin / bash Jangan pernah log masuk. Tiada surat. Tanpa Rancangan.

: ~ # ldapsearch -Y EXTERNAL -H ldapi: /// -b uid = frodo, ou = People, dc = friends, dc = cu

Sekarang kita mempunyai Perkhidmatan Direktori yang mesti kita uruskan !!! Kami akan mengembangkan dua cara: yang pertama melalui pakej ldapskrip, dan yang kedua, yang akan kita bahas dalam artikel berikutnya, akan melaluiPengurus Akaun Ldap.

Kita juga harus mengatakan bahawa pakej itu ldap-perkakas, menyediakan serangkaian arahan berguna untuk menguruskan Direktori. Untuk mengetahui apa perintah itu, kami melaksanakan:

: ~ # dpkg -L ldap-utils | grep / tong sampah
/ usr / bin / usr / bin / ldapmodrdn / usr / bin / ldapurl / usr / bin / ldapdelete / usr / bin / ldapwhoami / usr / bin / ldapexop / usr / bin / ldappasswd / usr / bin / ldapcompare / usr / bin / ldapsearch / usr / bin / ldapmodify / usr / bin / ldapadd

Untuk mengetahui lebih lanjut mengenai setiap arahan, kami mengesyorkan menjalankannya lelaki. Memberi penjelasan masing-masing akan menjadikan artikel itu sangat panjang.

Menguruskan pangkalan data menggunakan utiliti konsol

Kami memilih pakej ldapskrip untuk tugas seperti itu. Prosedur pemasangan dan konfigurasi adalah seperti berikut:

: ~ # aptitude pasang ldapscripts

: ~ # cp /etc/ldapscripts/ldapscripts.conf \ /etc/ldapscripts/ldapscripts.conf.original

: ~ # cp / dev / null /etc/ldapscripts/ldapscripts.conf

: ~ # nano /etc/ldapscripts/ldapscripts.conf
SERVER = localhost BINDDN = 'cn = admin, dc = friends, dc = cu' BINDPWDFILE = "/ etc / ldapscripts / ldapscripts.passwd" SUFFIX = 'dc = friends, dc = cu' GSUFFIX = 'ou = Kumpulan' USUFFIX = 'ou = People' # MSUFFIX = 'ou = Komputer' GIDSTART = 10001 UIDSTART = 10001 # MIDSTART = 10000 # Perintah pelanggan OpenLDAP LDAPSEARCHBIN = "/ usr / bin / ldapsearch" LDAPADDBIN = "/ usr / bin / ldapadd" LDAPDELETEBIN = / usr / bin / ldapdelete "LDAPMODIFYBIN =" / usr / bin / ldapmodify "LDAPMODRDNBIN =" / usr / bin / ldapmodrdn "LDAPPASSWDBIN =" / usr / bin / ldappasswd "GCLASS =" posixGroup "# posixGroup" . /ldapadduser.template "PASSWORDGEN =" echo% u "

### Perhatikan bahawa skrip menggunakan perintah dari
### pakej ldap-utils

: ~ # sh -c "echo -n 'tupassowrd'> \ /etc/ldapscripts/ldapscripts.passwd"

: ~ # chmod 400 /etc/ldapscripts/ldapscripts.passwd

: ~ # cp /usr/share/doc/ldapscripts/examples/ldapadduser.template.sample \ /etc/ldapscripts/ldapadduser.template

: ~ # nano /etc/ldapscripts/ldapadduser.template
dn: uid = , , objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount cn: sn: nama diberi: nama paparan: uid: uidNumber: nombor gid: homeDirektori: log masukJual: mel: tokek: keterangan: Akaun Pengguna

: ~ # nano /etc/ldapscripts/ldapscripts.conf
## kami membuang komen UTEMPLATE = "/ etc / ldapscripts / ldapadduser.template"

Mari cuba tambah pengguna Strider The King kepada kumpulan pengguna cincin dan mari kita periksa data yang dimasukkan:

: ~ # ldapadduser berdering berdering
[dn: uid = strides, ou = People, dc = friends, dc = cu] Masukkan nilai untuk "sn": The King [dn: uid = strides, ou = People, dc = friends, dc = cu] Masukkan nilai untuk "GivenName": Strides [dn: uid = strides, ou = People, dc = friends, dc = cu] Masukkan nilai untuk "displayName": Strides El Rey [dn: uid = strides, ou = People, dc = friends, dc = cu] Masukkan nilai untuk "mail": trancos@amigos.cu Berjaya menambahkan trancos pengguna ke LDAP Berjaya menetapkan kata laluan untuk trancos pengguna

root @ mildap: ~ # ldapfinger strides
dn: uid = strides, ou = People, dc = friends, dc = cu objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount cn: strides sn: El Rey diberikanName: Strides displayName: Strides El Rey uid: strides uidNumber: 10002 gidNumber homeDirectory: / home / trancos loginShell: / bin / bash mail: trancos@amigos.cu gecos: trancos description: Pengguna akaun pengguna Kata Laluan :: e10000NTSEF1UnlmcWxCem9iUzBuSzQzTkM5ZFRFcTUwV3VsVnBqRm2 =

Mari nyatakan kata laluan kepada pengguna Frodo, mari senaraikan "DN"Dari pengguna berdaftar, dan hapus pengguna yang baru dibuat Striders:

: ~ # ldapsetpasswd frodo
Menukar kata laluan untuk pengguna uid = frodo, ou = People, dc = friends, dc = cu Kata Laluan Baru: Ketik semula Kata Laluan Baru: Berjaya menetapkan kata laluan untuk pengguna uid = frodo, ou = Orang, dc = rakan, dc = cu

: ~ # lsldap -u | grep dn
dn: uid = frodo, ou = People, dc = friends, dc = cu dn: uid = strides, ou = People, dc = friends, dc = cu

: ~ # ldapfinger frodo
dn: uid = frodo, ou = People, dc = friends, dc = cu objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: frodo sn: Bagins diberikanNama: Frodo cn: Frodo Bagins displayName: Frodo Bagins uidNumber: 10000 gNumber : 10000 surat: frodo@amigos.cu gecos: Log masuk Frodo BaginsShell: / bin / bash homeDirektori: / pengguna rumah / frodo Kata Laluan :: e1NTSEF9TnI4ZXN3YXA1VnplK1ZIZXZzbFZKaWF1SVdWeU5oVjA =

: ~ # ldapdeleteuser langkah
Pengguna yang berjaya dihapus uid = langkah, ou = Orang, dc = rakan, dc = cu dari LDAP

: ~ # lsldap -u | grep dn
dn: uid = frodo, ou = People, dc = kawan, dc = cu

Mari kita periksa bahawa Pengesahan Setempat berfungsi dengan betul:

: ~ # ssh frodo @ mildap
kata laluan frodo @ mildap: Linux mildap 2.6.32-5-686 # 1 SMP Jum 10 Mei 08:33:48 UTC 2013 i686 [---] Debian GNU / Linux hadir dengan TIDAK ADA JAMINAN, sejauh yang dibenarkan oleh undang-undang yang berkenaan . Log masuk terakhir: Sel 18 Februari 18:54:01 2014 dari mildap.amigos.cu
frodo @ mildap: ~ $ pwd
/ rumah / frodo
frodo @ mildap: ~ $ 

Terdapat banyak contoh yang dapat kita tulis, tetapi sayangnya artikel itu akan panjang. Kami selalu mengatakan bahawa kami memberi jalan masuk kepada isu perkhidmatan secara umum. Mustahil untuk menggantikan dokumentasi yang luas dalam satu jawatan.

Untuk mengetahui lebih lanjut mengenai pakej ldapskrip dan perintahnya, sila dan berunding lelaki ldapscripts.

Setakat ini, Perkhidmatan Direktori Mudah kami berdasarkan OpenLDAP berfungsi dengan baik.

Ringkasan setakat ini ...

Banyak pengurus perkhidmatan dalam rangkaian perniagaan, ketika mereka mengambil alih satu dengan perkhidmatan berdasarkan produk Microsoft, jika mereka ingin bermigrasi ke Linux, mereka mempertimbangkan migrasi Domain Controller antara perkhidmatan lain.

Sekiranya mereka tidak memilih produk pihak ketiga seperti ClearOS atau Zentyal, atau jika atas sebab lain mereka ingin berdikari, maka mereka melakukan tugas yang sukar untuk menjadi Domain Controller mereka sendiri, atau dari Samba 4 Active Directory mereka sendiri.

Kemudian masalah bermula dan beberapa kekecewaan lain. Kesalahan operasi. Mereka tidak menemui lokasi masalah untuk menyelesaikannya. Percubaan pemasangan berulang. Sebahagian operasi perkhidmatan. Dan senarai masalah yang panjang.

Pangkalan mana-mana Pengawal Domain atau Direktori Aktif di Linux, berdasarkan OpenLDAP plus Samba, melalui pengetahuan asas mengenai Apa itu pelayan LDAP, bagaimana ia dipasang, bagaimana dikonfigurasi dan diuruskan, dan sebagainya?. Mereka yang telah membaca dokumentasi Samba yang luas, akan mengetahui dengan baik maksud kami.

Justru untuk menjawab soalan itu, kita telah menulis keseluruhan siri artikel hingga yang satu ini, dan kita akan meneruskannya dengan perkara-perkara yang diperlukan. Kami harap mereka berguna untuk anda.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   vidagnu kata

    Hebatnya catatan anda Fico, pertanyaan, dengan OpenLDAP, bolehkah dasar domain dibuat? untuk menerapkannya pada pengguna yang terhubung, seperti screen saver diaktifkan setelah 5 minit tanpa aktiviti, mengkonfigurasi wallpaper, mencegah aplikasi tertentu berjalan, mengkonfigurasi skrip permulaan, dll.

    Regards,
    Oscar

    1.    Federico kata

      Terima kasih atas komen !!!. Oscar, ingat bahawa polisi tersebut, di Linux, dilaksanakan secara berbeza ketika datang ke klien Linux. GNOME membawa alat untuk mencapainya yang sekarang saya tidak ingat namanya. Ya, saya tahu kami dapat menetapkan dasar akaun pengguna secara langsung di OpenLDAP. Ramai yang bertanya kepada saya soalan yang sama dan saya selalu menjawab lebih kurang sama. Policies Dasar keselamatan tersebut hanya berlaku untuk klien Microsoft, BUKAN klien Linux. Mereka adalah dua falsafah yang berbeza. Active Directory adalah aplikasi proprietari berdasarkan OpenLDAP, Kerberos peribadi dari Microsft dan Network Administrator, yang saya tidak tahu apa yang mereka namakan sekarang. Sebelum ini, ia berada di Lan Manager. Kami tidak boleh memikirkan meniru Direktori Aktif hanya dengan LDAP. Kita harus mengintegrasikan Samba atau menggunakan Samba 4 untuk melihat apakah ia dapat dicapai. Dan rakan saya, saya tidak pernah melihat Samba 4. 🙂 Saya juga tidak tahu sama ada Zentyal dengan Active Directory dapat menerapkannya ... tetapi perisian itu bukan sahaja OpenLDAP. Ini OpenLDAP + Samba + Kerberos + perkara lain yang saya tidak tahu dengan baik. Series Dalam siri ini saya hanya berurusan dengan OpenLDAP, dan jika anda mengikutinya, anda akan melihat bahawa dalam ringkasan yang saya tulis dari keseluruhan siri ini, ditambah dengan perkhidmatan penting lain, semuanya berdasarkan pengesahan terhadap OpenLDAP Directory.

      salam