Mari teruskan, bukan tanpa berunding terlebih dahulu:
- Perkhidmatan Direktori dengan LDAP. Pengenalan.
- Perkhidmatan Direktori dengan LDAP [2]: NTP dan dnsmasq.
- Perkhidmatan Direktori dengan LDAP [3]: Isc-DHCP-Server dan Bind9.
- Perkhidmatan Direktori dengan LDAP [4]: OpenLDAP (I)
Dalam catatan ini kita akan melihat:
- Pengesahan pengguna tempatan
- Isi pangkalan data
- Menguruskan pangkalan data menggunakan utiliti konsol
- Ringkasan setakat ini ...
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:
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.
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
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