git: 5fd4f71d5d - main - update translation of articles/ldap-auth to Russian
Vladlen Popolitov <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.cvs.doc |
|---|---|
| Message-ID | <[email protected]> |
The branch main has been updated by vladlen: URL: https://cgit.FreeBSD.org/doc/commit/?id=5fd4f71d5d1bdc87071c83aa57fef6f03df574c0 commit 5fd4f71d5d1bdc87071c83aa57fef6f03df574c0 Author: Vladlen Popolitov <[email protected]> AuthorDate: 2025-09-23 16:12:07 +0000 Commit: Vladlen Popolitov <[email protected]> CommitDate: 2025-09-23 16:12:07 +0000 update translation of articles/ldap-auth to Russian Reviewed by: maxim (mentor) Approved by: maxim (mentor) Differential Revision: https://reviews.freebsd.org/D51964 --- .../content/ru/articles/ldap-auth/_index.adoc | 703 ++++++++ .../content/ru/articles/ldap-auth/_index.po | 1887 ++++++++++++++++++++ 2 files changed, 2590 insertions(+) diff --git a/documentation/content/ru/articles/ldap-auth/_index.adoc b/documentation/content/ru/articles/ldap-auth/_index.adoc new file mode 100644 index 0000000000..0559e6f0ee --- /dev/null +++ b/documentation/content/ru/articles/ldap-auth/_index.adoc @@ -0,0 +1,703 @@ +--- +authors: + - + author: 'Toby Burress' + email: [email protected] +copyright: '2007-2008 The FreeBSD Documentation Project' +description: 'Ð ÑководÑÑво по наÑÑÑойке ÑеÑвеÑа LDAP Ð´Ð»Ñ Ð°ÑÑенÑиÑикаÑии в FreeBSD' +tags: ["LDAP", "Authentication", "OpenLDAP", "configuration", "guide", "tutorial", "FreeBSD"] +title: 'ÐÑÑенÑиÑикаÑÐ¸Ñ LDAP' +trademarks: ["freebsd", "general"] +--- + += ÐÑÑенÑиÑикаÑÐ¸Ñ LDAP +:doctype: article +:toc: macro +:toclevels: 1 +:icons: font +:sectnums: +:sectnumlevels: 6 +:source-highlighter: rouge +:experimental: +:images-path: articles/ldap-auth/ + +ifdef::env-beastie[] +ifdef::backend-html5[] +include::shared/authors.adoc[] +include::shared/mirrors.adoc[] +include::shared/releases.adoc[] +include::shared/attributes/attributes-{{% lang %}}.adoc[] +include::shared/{{% lang %}}/teams.adoc[] +include::shared/{{% lang %}}/mailing-lists.adoc[] +include::shared/{{% lang %}}/urls.adoc[] +:imagesdir: ../../../images/{images-path} +endif::[] +ifdef::backend-pdf,backend-epub3[] +include::../../../../shared/asciidoctor.adoc[] +endif::[] +endif::[] + +ifndef::env-beastie[] +include::../../../../../shared/asciidoctor.adoc[] +endif::[] + +[.abstract-title] +ÐнноÑаÑÐ¸Ñ + +ÐÑÐ¾Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ ÑвлÑеÑÑÑ ÑÑководÑÑвом по наÑÑÑойке ÑеÑвеÑа LDAP (в оÑновном ÑеÑвеÑа OpenLDAP) Ð´Ð»Ñ Ð°ÑÑенÑиÑикаÑии в FreeBSD. ÐÑо полезно в ÑиÑÑаÑиÑÑ , когда множеÑÑво ÑеÑвеÑов ÑÑебÑÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²ÑÑ ÑÑÑÑнÑÑ Ð·Ð°Ð¿Ð¸Ñей полÑзоваÑелей, напÑимеÑ, в каÑеÑÑве Ð·Ð°Ð¼ÐµÐ½Ñ NIS. + +''' + +toc::[] + +[[preface]] +== ÐÑедиÑловие + +ÐÑÐ¾Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ Ð¿ÑедназнаÑен Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð´Ð°ÑÑ ÑиÑаÑÐµÐ»Ñ Ð´Ð¾ÑÑаÑоÑно знаний о LDAP Ð´Ð»Ñ Ð½Ð°ÑÑÑойки ÑеÑвеÑа LDAP. РдокÑменÑе бÑÐ´ÐµÑ Ð¿ÑедпÑинÑÑа попÑÑка обÑÑÑниÑÑ Ð¸ÑполÑзование package:net/nss_ldap[] и package:security/pam_ldap[] Ð´Ð»Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¸Ñ Ð¼Ð°Ñин, ÑабоÑаÑÑÐ¸Ñ Ñ ÑеÑвеÑом LDAP. + +Ðо завеÑÑении ÑиÑаÑÐµÐ»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑмеÑÑ Ð½Ð°ÑÑÑоиÑÑ Ð¸ ÑазвеÑнÑÑÑ ÑеÑÐ²ÐµÑ FreeBSD, ÑпоÑобнÑй ÑазмеÑаÑÑ ÐºÐ°Ñалог LDAP, а Ñакже наÑÑÑоиÑÑ Ð¸ ÑазвеÑнÑÑÑ ÑеÑÐ²ÐµÑ FreeBSD, коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑÐ¾Ñ Ð¾Ð´Ð¸ÑÑ Ð°ÑÑенÑиÑикаÑÐ¸Ñ Ñ Ð¸ÑполÑзованием каÑалога LDAP. + +ÐÑа ÑÑаÑÑÑ Ð½Ðµ пÑеÑендÑÐµÑ Ð½Ð° иÑÑеÑпÑваÑÑее опиÑание вопÑоÑов безопаÑноÑÑи, надежноÑÑи или лÑÑÑÐ¸Ñ Ð¿ÑакÑик наÑÑÑойки LDAP и дÑÑÐ³Ð¸Ñ Ð¾Ð±ÑÑждаемÑÑ Ð·Ð´ÐµÑÑ ÑеÑвиÑов. ХоÑÑ Ð°Ð²ÑÐ¾Ñ ÑÑаÑаеÑÑÑ Ð´ÐµÐ»Ð°ÑÑ Ð²ÑÑ Ð¿ÑавилÑно, вопÑоÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи ÑаÑÑмаÑÑиваÑÑÑÑ Ð»Ð¸ÑÑ Ð² обÑÐ¸Ñ ÑеÑÑÐ°Ñ . ÐÐ°Ð½Ð½Ð°Ñ ÑÑаÑÑÑ Ð´Ð¾Ð»Ð¶Ð½Ð° ÑаÑÑмаÑÑиваÑÑÑÑ ÑолÑко как ÑеоÑеÑиÑеÑÐºÐ°Ñ Ð¾Ñнова, а лÑÐ±Ð°Ñ ÑеалÑÐ½Ð°Ñ ÑеализаÑÐ¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° ÑопÑовождаÑÑÑÑ ÑÑаÑелÑнÑм анализом ÑÑебований. + +[[ldap]] +== ÐаÑÑÑойка LDAP + +LDAP ознаÑÐ°ÐµÑ "Lightweight Directory Access Protocol" (облегÑÑннÑй пÑоÑокол доÑÑÑпа к каÑалогам) и ÑвлÑеÑÑÑ Ð¿Ð¾Ð´Ð¼Ð½Ð¾Ð¶ÐµÑÑвом X.500 Directory Access Protocol. ÐоÑледние ÑпеÑиÑикаÑии можно найÑи в http://www.ietf.org/rfc/rfc4510.txt[RFC4510] и ÑвÑзаннÑÑ Ð´Ð¾ÐºÑменÑÐ°Ñ . Ðо ÑÑÑи, ÑÑо база даннÑÑ , коÑоÑÐ°Ñ Ð¿ÑÐµÐ´Ð¿Ð¾Ð»Ð°Ð³Ð°ÐµÑ Ð±Ð¾Ð»ÐµÐµ ÑаÑÑÑе опеÑаÑии ÑÑениÑ, Ñем запиÑи. + +РпÑимеÑÐ°Ñ Ð² ÑÑом докÑменÑе бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ LDAP-ÑеÑÐ²ÐµÑ http://www.openldap.org/[OpenLDAP]; Ñ Ð¾ÑÑ Ð¿ÑинÑипÑ, изложеннÑе здеÑÑ, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¿ÑÐ¸Ð¼ÐµÐ½Ð¸Ð¼Ñ Ðº ÑазлиÑнÑм ÑеÑвеÑам, болÑÑÐ°Ñ ÑаÑÑÑ ÐºÐ¾Ð½ÐºÑеÑнÑÑ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑивнÑÑ Ð´ÐµÐ¹ÑÑвий ÑпеÑиÑиÑна Ð´Ð»Ñ OpenLDAP. РпоÑÑÐ°Ñ Ð´Ð¾ÑÑÑпно неÑколÑко веÑÑий ÑеÑвеÑа, напÑÐ¸Ð¼ÐµÑ package:net/openldap26-server[]. ÐлиенÑÑкие ÑеÑвеÑÑ Ð¿Ð¾ÑÑебÑÑÑ ÑооÑвеÑÑÑвÑÑÑие библиоÑеки package:net/openldap26-client[]. + +СÑÑеÑÑвÑÑÑ (в оÑновном) две облаÑÑи ÑлÑÐ¶Ð±Ñ LDAP, коÑоÑÑе ÑÑебÑÑÑ Ð½Ð°ÑÑÑойки. ÐеÑÐ²Ð°Ñ â наÑÑÑойка ÑеÑвеÑа Ð´Ð»Ñ Ð¿ÑавилÑного пÑиÑма Ñоединений, а вÑоÑÐ°Ñ â добавление запиÑей в каÑалог ÑеÑвеÑа, ÑÑÐ¾Ð±Ñ Ð¸Ð½ÑÑÑÑменÑÑ FreeBSD знали, как Ñ Ð½Ð¸Ð¼ взаимодейÑÑвоваÑÑ. + +[[ldap-connect]] +=== ÐаÑÑÑойка ÑеÑвеÑа Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑений + +[NOTE] +==== +ÐÑÐ¾Ñ Ñаздел оÑноÑиÑÑÑ ÐºÐ¾Ð½ÐºÑеÑно к OpenLDAP. ÐÑли Ð²Ñ Ð¸ÑполÑзÑеÑе дÑÑгой ÑеÑвеÑ, вам Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ обÑаÑиÑÑÑÑ Ðº докÑменÑаÑии ÑÑого ÑеÑвеÑа. +==== + +[[ldap-connect-install]] +==== УÑÑановка OpenLDAP + +СнаÑала ÑÑÑановиÑе OpenLDAP: + +[[oldap-install]] +.УÑÑановка OpenLDAP +[example] +==== + +[source, shell] +.... +# cd /usr/ports/net/openldap26-server +# make install clean +.... + +==== + +ÐÑо ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð±Ð¸Ð½Ð°ÑнÑе ÑÐ°Ð¹Ð»Ñ `slapd` и `slurpd`, а Ñакже Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе библиоÑеки OpenLDAP. + +[[ldap-connect-config]] +==== ÐаÑÑÑойка OpenLDAP + +Ðалее Ð¼Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð½Ð°ÑÑÑоиÑÑ OpenLDAP. + +Ðам ÑледÑÐµÑ ÑÑебоваÑÑ ÑиÑÑование Ñоединений Ñ ÑеÑвеÑом LDAP; в пÑоÑивном ÑлÑÑае паÑоли ваÑÐ¸Ñ Ð¿Ð¾Ð»ÑзоваÑелей бÑдÑÑ Ð¿ÐµÑедаваÑÑÑÑ Ð² оÑкÑÑÑом виде, ÑÑо ÑÑиÑаеÑÑÑ Ð½ÐµÐ±ÐµÐ·Ð¾Ð¿Ð°ÑнÑм. ÐнÑÑÑÑменÑÑ, коÑоÑÑе Ð¼Ñ Ð±Ñдем иÑполÑзоваÑÑ, поддеÑживаÑÑ Ð´Ð²Ð° оÑÐµÐ½Ñ Ð¿Ð¾Ñ Ð¾Ð¶Ð¸Ñ Ñипа ÑиÑÑованиÑ: SSL и TLS. + +TLS ознаÑÐ°ÐµÑ "Transportation Layer Security". СлÑжбÑ, иÑполÑзÑÑÑие TLS, обÑÑно подклÑÑаÑÑÑÑ Ðº Ñем же поÑÑам, ÑÑо и аналогиÑнÑе ÑлÑÐ¶Ð±Ñ Ð±ÐµÐ· TLS; Ñаким обÑазом, SMTP-ÑеÑÐ²ÐµÑ Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой TLS бÑÐ´ÐµÑ Ð¾Ð¶Ð¸Ð´Ð°ÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑений на поÑÑÑ 25, а LDAP-ÑеÑÐ²ÐµÑ â на поÑÑÑ 389. + +SSL ознаÑÐ°ÐµÑ Â«Secure Sockets Layer», и ÑлÑжбÑ, ÑеализÑÑÑие SSL, _не_ ÑабоÑаÑÑ Ð½Ð° ÑÐµÑ Ð¶Ðµ поÑÑÐ°Ñ , ÑÑо и Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸ без SSL. Таким обÑазом, SMTPS иÑполÑзÑÐµÑ Ð¿Ð¾ÑÑ 465 (а не 25), HTTPS â поÑÑ 443, а LDAPS â поÑÑ 636. + +ÐÑиÑина, по коÑоÑой SSL иÑполÑзÑÐµÑ Ð´ÑÑгой поÑÑ, Ñем TLS, заклÑÑаеÑÑÑ Ð² Ñом, ÑÑо Ñоединение TLS наÑинаеÑÑÑ ÐºÐ°Ðº обÑÑнÑй ÑекÑÑ Ð¸ пеÑеклÑÑаеÑÑÑ Ð½Ð° заÑиÑÑованнÑй ÑÑаÑик поÑле диÑекÑÐ¸Ð²Ñ `STARTTLS`. Ð¡Ð¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ SSL заÑиÑÑÐ¾Ð²Ð°Ð½Ñ Ñ Ñамого наÑала. ÐÑоме ÑÑого, ÑÑÑеÑÑвеннÑÑ ÑазлиÑий Ð¼ÐµÐ¶Ð´Ñ Ð½Ð¸Ð¼Ð¸ неÑ. + +[NOTE] +==== +ÐÑ Ð½Ð°ÑÑÑоим OpenLDAP Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ TLS, Ñак как SSL ÑÑиÑаеÑÑÑ ÑÑÑаÑевÑим. +==== + +ÐоÑле ÑÑÑановки OpenLDAP ÑеÑез поÑÑÑ ÑледÑÑÑие паÑамеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии в [.filename]#/usr/local/etc/openldap/slapd.conf# вклÑÑÐ°Ñ TLS: + +[.programlisting] +.... +security ssf=128 + +TLSCertificateFile /path/to/your/cert.crt +TLSCertificateKeyFile /path/to/your/cert.key +TLSCACertificateFile /path/to/your/cacert.crt +.... + +Ð ÑÑом пÑимеÑе `ssf=128` ÑказÑÐ²Ð°ÐµÑ OpenLDAP ÑÑебоваÑÑ 128-биÑное ÑиÑÑование Ð´Ð»Ñ Ð²ÑÐµÑ Ñоединений, как Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка, Ñак и Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°ÑÑÑоен в ÑооÑвеÑÑÑвии Ñ ÑÑебованиÑми безопаÑноÑÑи ваÑего ÑайÑа, но оÑлаблÑÑÑ ÐµÐ³Ð¾ ÑÑебÑеÑÑÑ Ñедко, Ñак как болÑÑинÑÑво библиоÑек LDAP-клиенÑов поддеÑживаÑÑ ÑÑойкое ÑиÑÑование. + +Ð¤Ð°Ð¹Ð»Ñ [.filename]#cert.crt#, [.filename]#cert.key# и [.filename]#cacert.crt# Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñ Ð´Ð»Ñ Ð°ÑÑенÑиÑикаÑии клиенÑами _ваÑ_ как дейÑÑвиÑелÑного LDAP-ÑеÑвеÑа. ÐÑли вам пÑоÑÑо нÑжен ÑабоÑаÑÑий ÑеÑвеÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑоздаÑÑ ÑамоподпиÑаннÑй ÑеÑÑиÑÐ¸ÐºÐ°Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ OpenSSL: + +[[genrsa]] +.ÐенеÑаÑÐ¸Ñ RSA-клÑÑа +[example] +==== + +[source, shell] +.... +% openssl genrsa -out cert.key 1024 +Generating RSA private key, 1024 bit long modulus +....................++++++ +...++++++ +e is 65537 (0x10001) + +% openssl req -new -key cert.key -out cert.csr +.... + +==== + +Ðа ÑÑом ÑÑапе вам бÑÐ´ÐµÑ Ð¿Ñедложено ввеÑÑи некоÑоÑÑе знаÑениÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе ввеÑÑи лÑбÑе знаÑениÑ, какие пожелаеÑе; однако важно, ÑÑÐ¾Ð±Ñ Ð·Ð½Ð°Ñение "Common Name" (ÐбÑее имÑ) бÑло полнÑм доменнÑм именем ÑеÑвеÑа OpenLDAP. РнаÑем ÑлÑÑае и в пÑиведÑннÑÑ Ð¿ÑимеÑÐ°Ñ ÑеÑÐ²ÐµÑ Ð½Ð°Ð·ÑваеÑÑÑ _server.example.org_. ÐепÑавилÑное Ñказание ÑÑого знаÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к ÑбоÑм пÑи подклÑÑении клиенÑов. ÐÑо Ð¼Ð¾Ð¶ÐµÑ ÑÑаÑÑ Ð¿ÑиÑиной ÑеÑÑÑзнÑÑ Ð¿Ñоблем, поÑÑÐ¾Ð¼Ñ Ð²Ð½Ð¸Ð¼Ð°ÑелÑно ÑледÑйÑе ÑÑÐ ¸Ð¼ Ñагам. + +ÐаконеÑ, запÑÐ¾Ñ Ð½Ð° подпиÑÑ ÑеÑÑиÑикаÑа должен бÑÑÑ Ð¿Ð¾Ð´Ð¿Ð¸Ñан: + +[[self-sign]] +.СамоÑÑоÑÑелÑÐ½Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑ ÑеÑÑиÑикаÑа +[example] +==== + +[source, shell] +.... +% openssl x509 -req -in cert.csr -days 365 -signkey cert.key -out cert.crt +Signature ok +subject=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd +Getting Private key +.... + +==== + +ÐÑо ÑоздаÑÑ ÑамоподпиÑаннÑй ÑеÑÑиÑикаÑ, коÑоÑÑй можно иÑполÑзоваÑÑ Ð´Ð»Ñ Ð´Ð¸ÑекÑив в [.filename]#slapd.conf#, где [.filename]#cert.crt# и [.filename]#cacert.crt# пÑедÑÑавлÑÑÑ Ñобой один и ÑÐ¾Ñ Ð¶Ðµ Ñайл. ÐÑли Ð²Ñ Ð¿Ð»Ð°Ð½Ð¸ÑÑеÑе иÑполÑзоваÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво ÑеÑвеÑов OpenLDAP (Ð´Ð»Ñ ÑепликаÑии ÑеÑез `slurpd`), ÑекомендÑеÑÑÑ Ð¾Ð·Ð½Ð°ÐºÐ¾Ð¼Ð¸ÑÑÑÑ Ñ Ñазделом crossref:ldap-auth[ssl-ca, СеÑÑиÑикаÑÑ OpenSSL Ð´Ð»Ñ LDAP], ÑÑÐ¾Ð±Ñ ÑгенеÑиÑоваÑÑ ÐºÐ»ÑÑ ÑенÑÑа ÑеÑÑиÑикаÑии (CA) и иÑполÑзоваÑÑ ÐµÐ³Ð¾ Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñи индивидÑалÑнÑÑ ÑеÑÑиÑÐ¸ÐºÐ°Ñ Ð¾Ð² ÑеÑвеÑов. + +ÐоÑле ÑÑого добавÑÑе ÑледÑÑÑее в [.filename]#/etc/rc.conf#: + +[.programlisting] +.... +slapd_enable="YES" +.... + +ÐаÑем вÑполниÑе `/usr/local/etc/rc.d/slapd start`. ÐÑо должно запÑÑÑиÑÑ OpenLDAP. УбедиÑеÑÑ, ÑÑо он ÑлÑÑÐ°ÐµÑ Ð¿Ð¾ÑÑ 389 Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ + +[source, shell] +.... +% sockstat -4 -p 389 +ldap slapd 3261 7 tcp4 *:389 *:* +.... + +[[ldap-connect-client]] +==== ÐаÑÑÑойка клиенÑа + +УÑÑановиÑе поÑÑ package:net/openldap26-client[] Ð´Ð»Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек OpenLDAP. ÐлиенÑÑкие маÑÐ¸Ð½Ñ Ð²Ñегда бÑдÑÑ Ð¸Ð¼ÐµÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки OpenLDAP, Ñак как они ÑодеÑжаÑÑÑ Ð² пакеÑÐ°Ñ package:security/pam_ldap[] и package:net/nss_ldap[], по кÑайней меÑе, на даннÑй моменÑ. + +Файл конÑигÑÑаÑии Ð´Ð»Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек OpenLDAP â ÑÑо [.filename]#/usr/local/etc/openldap/ldap.conf#. ÐÑÑедакÑиÑÑйÑе ÑÑÐ¾Ñ Ñайл, Ñказав ÑледÑÑÑие знаÑениÑ: + +[.programlisting] +.... +base dc=example,dc=org +uri ldap://server.example.org/ +ssl start_tls +tls_cacert /path/to/your/cacert.crt +.... + +[NOTE] +==== +Ðажно, ÑÑÐ¾Ð±Ñ Ñ Ð²Ð°ÑÐ¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñов бÑл доÑÑÑп к [.filename]#cacert.crt#, инаÑе они не ÑмогÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ. +==== + +[NOTE] +==== +СÑÑеÑÑвÑÐµÑ Ð´Ð²Ð° Ñайла Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ [.filename]#ldap.conf#. ÐеÑвÑй â ÑÑо даннÑй Ñайл, пÑедназнаÑеннÑй Ð´Ð»Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек OpenLDAP и опÑеделÑÑÑий, как взаимодейÑÑвоваÑÑ Ñ ÑеÑвеÑом. ÐÑоÑой â [.filename]#/usr/local/etc/ldap.conf#, иÑполÑзÑеÑÑÑ pam_ldap. +==== + +Ðа ÑÑом ÑÑапе Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð² ÑоÑÑоÑнии вÑполниÑÑ `ldapsearch -Z` на клиенÑÑкой маÑине; `-Z` ознаÑÐ°ÐµÑ "иÑполÑзоваÑÑ TLS". ÐÑли Ð²Ñ ÑÑолкнÑÑеÑÑ Ñ Ð¾Ñибкой, знаÑÐ¸Ñ ÑÑо-Ñо наÑÑÑоено непÑавилÑно; ÑкоÑее вÑего, пÑоблема в ваÑÐ¸Ñ ÑеÑÑиÑикаÑÐ°Ñ . ÐÑполÑзÑйÑе `s_client` и `s_server` из man:openssl[1], ÑÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ, ÑÑо они пÑавилÑно наÑÑÑÐ¾ÐµÐ½Ñ Ð¸ подпиÑанÑ. + +[[ldap-database]] +=== ÐапиÑи в базе даннÑÑ + +ÐÑÑенÑиÑикаÑÐ¸Ñ Ð² каÑалоге LDAP обÑÑно вÑполнÑеÑÑÑ Ð¿ÑÑем попÑÑки пÑивÑзаÑÑÑÑ Ðº каÑÐ°Ð»Ð¾Ð³Ñ ÐºÐ°Ðº подклÑÑаÑÑийÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑ. ÐÑо делаеÑÑÑ Ð¿ÑÑем ÑÑÑановки "пÑоÑÑой" пÑивÑзки к каÑÐ°Ð»Ð¾Ð³Ñ Ñ Ð¿ÑедоÑÑавленнÑм именем полÑзоваÑелÑ. ÐÑли ÑÑÑеÑÑвÑÐµÑ Ð·Ð°Ð¿Ð¸ÑÑ Ñ `uid`, ÑавнÑм имени полÑзоваÑелÑ, и аÑÑибÑÑ `userPassword` ÑÑой запиÑи ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ñ Ð¿ÑедоÑÑавленнÑм паÑолем, Ñо пÑивÑзка пÑÐ¾Ñ Ð¾Ð´Ð¸Ñ ÑÑпеÑно. + +ÐеÑвое, ÑÑо нам нÑжно ÑделаÑÑ, â ÑÑо опÑеделиÑÑ, где в каÑалоге бÑдÑÑ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑÑ Ð½Ð°Ñи полÑзоваÑели. + +Ðазовой запиÑÑÑ Ð´Ð»Ñ Ð½Ð°Ñей Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ ÑвлÑеÑÑÑ `dc=example,dc=org`. СÑандаÑÑное ÑаÑположение полÑзоваÑелей, коÑоÑое Ð¾Ð¶Ð¸Ð´Ð°ÐµÑ Ð±Ð¾Ð»ÑÑинÑÑво клиенÑов, вÑглÑÐ´Ð¸Ñ Ð¿ÑимеÑно как `ou=people,_base_`, поÑÑÐ¾Ð¼Ñ Ð·Ð´ÐµÑÑ Ð±ÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ ÑÑо. Ðднако ÑледÑÐµÑ Ð¿Ð¾Ð¼Ð½Ð¸ÑÑ, ÑÑо ÑÑо наÑÑÑаиваеÑÑÑ. + +Таким обÑазом, запиÑÑ ldif Ð´Ð»Ñ Ð¾ÑганизаÑионного подÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ `people` бÑÐ´ÐµÑ Ð²ÑглÑдеÑÑ ÑледÑÑÑим обÑазом: + +[.programlisting] +.... +dn: ou=people,dc=example,dc=org +objectClass: top +objectClass: organizationalUnit +ou: people +.... + +ÐÑе полÑзоваÑели бÑдÑÑ ÑÐ¾Ð·Ð´Ð°Ð½Ñ ÐºÐ°Ðº подÑÐ°Ð·Ð´ÐµÐ»Ñ ÑÑой оÑганизаÑионной единиÑÑ. + +ÐекоÑоÑÑе ÑазмÑÑÐ»ÐµÐ½Ð¸Ñ ÑÑÐ¾Ð¸Ñ Ð¿Ð¾ÑвÑÑиÑÑ ÐºÐ»Ð°ÑÑÑ Ð¾Ð±ÑекÑов, к коÑоÑÐ¾Ð¼Ñ Ð±ÑдÑÑ Ð¿ÑинадлежаÑÑ Ð²Ð°Ñи полÑзоваÑели. ÐолÑÑинÑÑво инÑÑÑÑменÑов по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑÑÑ `people`, ÑÑо Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð¸Ñ, еÑли вам пÑоÑÑо нÑжно пÑедоÑÑавиÑÑ Ð·Ð°Ð¿Ð¸Ñи Ð´Ð»Ñ Ð°ÑÑенÑиÑикаÑии. Ðднако, еÑли Ð²Ñ Ñакже ÑобиÑаеÑеÑÑ Ñ ÑаниÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ полÑзоваÑелÑÑ Ð² базе даннÑÑ LDAP, вам, веÑоÑÑно, ÑÑÐ¾Ð¸Ñ Ð¸ÑполÑзоваÑÑ `inetOrgPerson`, коÑоÑÑй Ð¸Ð¼ÐµÐµÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво полезнÑÑ Ð°ÑÑибÑÑов. РлÑбом ÑлÑÑае, ÑооÑÐ²ÐµÑ ÑÑвÑÑÑие ÑÑ ÐµÐ¼Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð·Ð°Ð³ÑÑÐ¶ÐµÐ½Ñ Ð² [.filename]#slapd.conf#. + +ÐÐ»Ñ ÑÑого пÑимеÑа Ð¼Ñ Ð±Ñдем иÑполÑзоваÑÑ ÐºÐ»Ð°ÑÑ Ð¾Ð±ÑекÑа `person`. ÐÑли Ð²Ñ Ð¸ÑполÑзÑеÑе `inetOrgPerson`, Ñаги пÑакÑиÑеÑки иденÑиÑнÑ, за иÑклÑÑением Ñого, ÑÑо аÑÑибÑÑ `sn` ÑвлÑеÑÑÑ Ð¾Ð±ÑзаÑелÑнÑм. + +ЧÑÐ¾Ð±Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ ÑеÑÑового полÑзоваÑÐµÐ»Ñ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ `tuser`, ldif-Ñайл должен вÑглÑдеÑÑ Ñак: + +[.programlisting] +.... +dn: uid=tuser,ou=people,dc=example,dc=org +objectClass: person +objectClass: posixAccount +objectClass: shadowAccount +objectClass: top +uidNumber: 10000 +gidNumber: 10000 +homeDirectory: /home/tuser +loginShell: /bin/csh +uid: tuser +cn: tuser +.... + +Я наÑÐ¸Ð½Ð°Ñ UID полÑзоваÑелей LDAP Ñ 10000, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ ÐºÐ¾Ð½ÑликÑов Ñ ÑиÑÑемнÑми ÑÑÑÑнÑми запиÑÑми; Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе наÑÑÑоиÑÑ Ð»Ñбое ÑиÑло здеÑÑ, пÑи ÑÑловии ÑÑо оно менÑÑе 65536. + +Также Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñ Ð·Ð°Ð¿Ð¸Ñи гÑÑпп. Ðни наÑÑÑаиваÑÑÑÑ Ñак же, как запиÑи полÑзоваÑелей, но Ð¼Ñ Ð±Ñдем иÑполÑзоваÑÑ ÑÑандаÑÑнÑе знаÑениÑ, пÑиведÑннÑе ниже: + +[.programlisting] +.... +dn: ou=groups,dc=example,dc=org +objectClass: top +objectClass: organizationalUnit +ou: groups + +dn: cn=tuser,ou=groups,dc=example,dc=org +objectClass: posixGroup +objectClass: top +gidNumber: 10000 +cn: tuser +.... + +ЧÑÐ¾Ð±Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð¸Ñ Ð² ваÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ `slapadd` или `ldapadd` Ð´Ð»Ñ Ñайла, ÑодеÑжаÑего ÑÑи запиÑи. ÐлÑÑеÑнаÑивно, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ package:sysutils/ldapvi[]. + +УÑилиÑа `ldapsearch` на клиенÑÑкой маÑине ÑепеÑÑ Ð´Ð¾Ð»Ð¶Ð½Ð° возвÑаÑаÑÑ ÑÑи запиÑи. ÐÑли ÑÑо Ñак, ваÑа база даннÑÑ Ð¿ÑавилÑно наÑÑÑоена Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² каÑеÑÑве ÑеÑвеÑа аÑÑенÑиÑикаÑии LDAP. + +[[client]] +== ÐонÑигÑÑаÑÐ¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñа + +ÐÐ»Ð¸ÐµÐ½Ñ Ñже должен имеÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки OpenLDAP из crossref:ldap-auth[ldap-connect-client,ÐаÑÑÑойка клиенÑа], но еÑли Ð²Ñ ÑÑÑанавливаеÑе неÑколÑко клиенÑÑÐºÐ¸Ñ Ð¼Ð°Ñин, вам поÑÑебÑеÑÑÑ ÑÑÑановиÑÑ package:net/openldap26-client[] на каждой из Ð½Ð¸Ñ . + +ÐÐ»Ñ Ð°ÑÑенÑиÑикаÑии на ÑеÑвеÑе LDAP в FreeBSD Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑÑÑановиÑÑ Ð´Ð²Ð° поÑÑа: package:security/pam_ldap[] и package:net/nss_ldap[]. + +[[client-auth]] +=== ÐÑÑенÑиÑикаÑÐ¸Ñ + +package:security/pam_ldap[] наÑÑÑаиваеÑÑÑ ÑеÑез [.filename]#/usr/local/etc/ldap.conf#. + +[NOTE] +==== +ÐÑо _дÑÑгой Ñайл_, оÑлиÑнÑй Ð¾Ñ Ñайла конÑигÑÑаÑии библиоÑеÑнÑÑ ÑÑнкÑий OpenLDAP, [.filename]#/usr/local/etc/openldap/ldap.conf#; однако он пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¼Ð½Ð¾Ð³Ð¸Ðµ из ÑÐµÑ Ð¶Ðµ паÑамеÑÑов; ÑакÑиÑеÑки он ÑвлÑеÑÑÑ Ð½Ð°Ð´Ð¼Ð½Ð¾Ð¶ÐµÑÑвом ÑÑого Ñайла. РоÑÑавÑейÑÑ ÑаÑÑи ÑÑого Ñаздела ÑÑÑлки на [.filename]#ldap.conf# бÑдÑÑ Ð¾Ð·Ð½Ð°ÑаÑÑ [.filename]#/usr/local/etc/ldap.conf#. +==== + +Таким обÑазом, Ð¼Ñ Ð·Ð°Ñ Ð¾Ñим ÑкопиÑоваÑÑ Ð²Ñе иÑÑ Ð¾Ð´Ð½Ñе паÑамеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии из [.filename]#openldap/ldap.conf# в новÑй [.filename]#ldap.conf#. ÐоÑле ÑÑого нам нÑжно ÑказаÑÑ package:security/pam_ldap[], ÑÑо иÑкаÑÑ Ð½Ð° ÑеÑвеÑе каÑалогов. + +ÐÑ Ð¸Ð´ÐµÐ½ÑиÑиÑиÑÑем наÑÐ¸Ñ Ð¿Ð¾Ð»ÑзоваÑелей Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð°ÑÑибÑÑа `uid`. ЧÑÐ¾Ð±Ñ Ð½Ð°ÑÑÑоиÑÑ ÑÑо (Ñ Ð¾ÑÑ ÑÑо знаÑение по ÑмолÑаниÑ), ÑкажиÑе диÑекÑÐ¸Ð²Ñ `pam_login_attribute` в [.filename]#ldap.conf#: + +[[set-pam-login-attr]] +.УÑÑановка `pam_login_attribute` +[example] +==== + +[.programlisting] +.... +pam_login_attribute uid +.... + +==== + +С Ñаким набоÑом, package:security/pam_ldap[] бÑÐ´ÐµÑ Ð¸ÑкаÑÑ Ð²Ð¾ вÑей LDAP-диÑекÑоÑии под `base` знаÑение `uid=_имÑ_полÑзоваÑелÑ_`. ÐÑли оно найдÑÑ Ð¾Ð´Ð½Ñ Ð¸ ÑолÑко Ð¾Ð´Ð½Ñ Ð·Ð°Ð¿Ð¸ÑÑ, бÑÐ´ÐµÑ Ð¿ÑедпÑинÑÑа попÑÑка пÑивÑзаÑÑÑÑ Ðº ÑÑой запиÑи Ñ Ð¸ÑполÑзованием пÑедоÑÑавленного паÑолÑ. ÐÑли пÑивÑзка пÑоизойдÑÑ ÑÑпеÑно, доÑÑÑп бÑÐ´ÐµÑ ÑазÑеÑÑн. РпÑоÑивном ÑлÑÑае доÑÑÑп бÑÐ´ÐµÑ Ð·Ð°Ð¿ÑеÑÑн. + +ÐолÑзоваÑели, ÑÑÑ Ð¾Ð±Ð¾Ð»Ð¾Ñка не Ñказана в [.filename]#/etc/shells#, не ÑмогÑÑ Ð²Ð¾Ð¹Ñи в ÑиÑÑемÑ. ÐÑо оÑобенно важно, когда Bash ÑÑÑановлен как оболоÑка полÑзоваÑÐµÐ»Ñ Ð½Ð° ÑеÑвеÑе LDAP. Bash не Ð²Ñ Ð¾Ð´Ð¸Ñ Ð² ÑÑандаÑÑнÑÑ ÑÑÑÐ°Ð½Ð¾Ð²ÐºÑ FreeBSD. ÐÑи ÑÑÑановке из пакеÑа или поÑÑа, он ÑаÑполагаеÑÑÑ Ð² [.filename]#/usr/local/bin/bash#. УбедиÑеÑÑ, ÑÑо пÑÑÑ Ðº оболоÑке на ÑеÑвеÑе Ñказан пÑавилÑно: + +[source, shell] +.... +% getent passwd username +.... + +ÐÑли в поÑледнем ÑÑолбÑе вÑвода Ñказан `/bin/bash`, еÑÑÑ Ð´Ð²Ð° ваÑианÑа дейÑÑвий. ÐеÑвÑй â измениÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð½Ð° ÑеÑвеÑе LDAP на [.filename]#/usr/local/bin/bash#. ÐÑоÑой ваÑÐ¸Ð°Ð½Ñ â ÑоздаÑÑ ÑимволиÑеÑкÑÑ ÑÑÑÐ»ÐºÑ Ð½Ð° клиенÑÑком компÑÑÑеÑе LDAP, ÑÑÐ¾Ð±Ñ Bash Ð½Ð°Ñ Ð¾Ð´Ð¸Ð»ÑÑ Ð² пÑавилÑном меÑÑе: + +[source, shell] +.... +# ln -s /usr/local/bin/bash /bin/bash +.... + +УбедиÑеÑÑ, ÑÑо Ñайл [.filename]#/etc/shells# ÑодеÑÐ¶Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи Ð´Ð»Ñ `/usr/local/bin/bash` и `/bin/bash`. ÐоÑле ÑÑого полÑзоваÑÐµÐ»Ñ ÑÐ¼Ð¾Ð¶ÐµÑ Ð²Ñ Ð¾Ð´Ð¸ÑÑ Ð² ÑиÑÑÐµÐ¼Ñ Ñ Bash в каÑеÑÑве оболоÑки. + +[[client-auth-pam]] +==== PAM + +PAM, ÑÑо ознаÑÐ°ÐµÑ "Pluggable Authentication Modules" (подклÑÑаемÑе модÑли аÑÑенÑиÑикаÑии), ÑвлÑеÑÑÑ Ð¼ÐµÑодом, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾ÑоÑого FreeBSD аÑÑенÑиÑиÑиÑÑÐµÑ Ð±Ð¾Ð»ÑÑинÑÑво ÑÐ²Ð¾Ð¸Ñ ÑеанÑов. ЧÑÐ¾Ð±Ñ ÑказаÑÑ FreeBSD, ÑÑо Ð¼Ñ Ñ Ð¾Ñим иÑполÑзоваÑÑ LDAP-ÑеÑвеÑ, нам Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ добавиÑÑ ÑÑÑÐ¾ÐºÑ Ð² ÑооÑвеÑÑÑвÑÑÑий Ñайл PAM. + +РболÑÑинÑÑве ÑлÑÑаев Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑий Ñайл PAM â ÑÑо [.filename]#/etc/pam.d/sshd#, еÑли Ð²Ñ Ñ Ð¾ÑиÑе иÑполÑзоваÑÑ SSH (не забÑдÑÑе ÑÑÑановиÑÑ ÑооÑвеÑÑÑвÑÑÑие паÑамеÑÑÑ Ð² [.filename]#/etc/ssh/sshd_config#, инаÑе SSH не бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ PAM). + +ЧÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ PAM Ð´Ð»Ñ Ð°ÑÑенÑиÑикаÑии, добавÑÑе ÑÑÑÐ¾ÐºÑ + +[.programlisting] +.... +auth sufficient /usr/local/lib/pam_ldap.so no_warn +.... + +СÑÑогое меÑÑо, где ÑÑа ÑÑÑока поÑвлÑеÑÑÑ Ð² Ñайле, и какие опÑии ÑÐºÐ°Ð·Ð°Ð½Ñ Ð² ÑеÑвеÑÑом ÑÑолбÑе, опÑеделÑÑÑ ÑоÑное поведение Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° аÑÑенÑиÑикаÑии; Ñм. man:pam[d] + +С Ñакой конÑигÑÑаÑией Ð²Ñ ÑможеÑе аÑÑенÑиÑиÑиÑоваÑÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð² LDAP-каÑалоге. PAM вÑÐ¿Ð¾Ð»Ð½Ð¸Ñ Ð¿ÑивÑÐ·ÐºÑ Ñ Ð²Ð°Ñими ÑÑеÑнÑми даннÑми, и в ÑлÑÑае ÑÑÐ¿ÐµÑ Ð° ÑообÑÐ¸Ñ SSH ÑазÑеÑиÑÑ Ð´Ð¾ÑÑÑп. + +Ðднако ÑазÑеÑаÑÑ _каждомÑ_ полÑзоваÑÐµÐ»Ñ Ð² каÑалоге доÑÑÑп к _каждой_ клиенÑÑкой маÑине â не лÑÑÑÐ°Ñ Ð¸Ð´ÐµÑ. ÐÑи ÑекÑÑей конÑигÑÑаÑии полÑзоваÑÐµÐ»Ñ Ð´Ð»Ñ Ð²Ñ Ð¾Ð´Ð° на маÑÐ¸Ð½Ñ Ð´Ð¾ÑÑаÑоÑно налиÑÐ¸Ñ Ð·Ð°Ð¿Ð¸Ñи в LDAP. Ð ÑÑаÑÑÑÑ, еÑÑÑ Ð½ÐµÑколÑко ÑпоÑобов огÑаниÑиÑÑ Ð´Ð¾ÑÑÑп полÑзоваÑелей. + +[.filename]#ldap.conf# поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð´Ð¸ÑекÑÐ¸Ð²Ñ `pam_groupdn`; ÐºÐ°Ð¶Ð´Ð°Ñ ÑÑÑÑÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ, подклÑÑаÑÑаÑÑÑ Ðº ÑÑой маÑине, должна бÑÑÑ Ñленом гÑÑппÑ, Ñказанной здеÑÑ. ÐапÑимеÑ, еÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ + +[.programlisting] +.... +pam_groupdn cn=servername,ou=accessgroups,dc=example,dc=org +.... + +в [.filename]#ldap.conf#, Ñогда ÑолÑко ÑÐ»ÐµÐ½Ñ ÑÑой гÑÑÐ¿Ð¿Ñ ÑмогÑÑ Ð²Ð¾Ð¹Ñи в ÑиÑÑемÑ. Ðднако еÑÑÑ Ð½ÐµÑколÑко моменÑов, коÑоÑÑе ÑледÑÐµÑ ÑÑиÑÑваÑÑ. + +УÑаÑÑники ÑÑой гÑÑÐ¿Ð¿Ñ ÑказÑваÑÑÑÑ Ð² одном или неÑколÑÐºÐ¸Ñ Ð°ÑÑибÑÑÐ°Ñ `memberUid`, и каждÑй аÑÑибÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑодеÑжаÑÑ Ð¿Ð¾Ð»Ð½Ð¾Ðµ оÑлиÑаÑÑееÑÑ Ð¸Ð¼Ñ ÑÑаÑÑника. Таким обÑазом, `memberUid: someuser` не ÑÑабоÑаеÑ; Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑказаÑÑ: + +[.programlisting] +.... +memberUid: uid=someuser,ou=people,dc=example,dc=org +.... + +ÐÑоме Ñого, ÑÑа диÑекÑива не пÑовеÑÑеÑÑÑ Ð² PAM во вÑÐµÐ¼Ñ Ð°ÑÑенÑиÑикаÑии, она пÑовеÑÑеÑÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑÑÑнÑми запиÑÑми, поÑÑÐ¾Ð¼Ñ Ð²Ð°Ð¼ понадобиÑÑÑ Ð²ÑоÑÐ°Ñ ÑÑÑока в ваÑÐ¸Ñ PAM-ÑÐ°Ð¹Ð»Ð°Ñ Ð² Ñазделе `account`. ÐÑо, в ÑÐ²Ð¾Ñ Ð¾ÑеÑедÑ, поÑÑебÑеÑ, ÑÑÐ¾Ð±Ñ _каждÑй_ полÑзоваÑÐµÐ»Ñ Ð±Ñл Ñказан в гÑÑппе, ÑÑо не обÑзаÑелÑно ÑооÑвеÑÑÑвÑÐµÑ Ð½Ð°Ñим желаниÑм. ЧÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð±Ð»Ð¾ÐºÐ¸Ñовки полÑзоваÑелей, не Ð½Ð°Ñ Ð¾Ð´ÑÑÐ¸Ñ ÑÑ Ð² LDAP, ÑледÑÐµÑ Ð²ÐºÐ»ÑÑиÑÑ Ð°ÑÑибÑÑ `ignore_unknown_user`. ÐаконеÑ, ÑÐ »ÐµÐ´ÑÐµÑ ÑÑÑановиÑÑ Ð¾Ð¿ÑÐ¸Ñ `ignore_authinfo_unavail`, ÑÑÐ¾Ð±Ñ Ð½Ðµ оказаÑÑÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸ÑованнÑм на каждом компÑÑÑеÑе пÑи недоÑÑÑÐ ¿Ð½Ð¾ÑÑи LDAP-ÑеÑвеÑа. + +ÐÐ°Ñ Ñайл [.filename]#pam.d/sshd# Ð¼Ð¾Ð¶ÐµÑ Ð² иÑоге вÑглÑдеÑÑ Ñак: + +[[pam]] +.ÐÑÐ¸Ð¼ÐµÑ [.filename]#pam.d/sshd# +[example] +==== + +[.programlisting] +.... +auth required pam_nologin.so no_warn +auth sufficient pam_opie.so no_warn no_fake_prompts +auth requisite pam_opieaccess.so no_warn allow_local +auth sufficient /usr/local/lib/pam_ldap.so no_warn +auth required pam_unix.so no_warn try_first_pass + +account required pam_login_access.so +account required /usr/local/lib/pam_ldap.so no_warn ignore_authinfo_unavail ignore_unknown_user +.... + +==== + +[NOTE] +==== +ÐоÑколÑÐºÑ Ð¼Ñ Ð´Ð¾Ð±Ð°Ð²Ð»Ñем ÑÑи ÑÑÑоки конкÑеÑно в [.filename]#pam.d/sshd#, ÑÑо повлиÑÐµÑ ÑолÑко на SSH-ÑеанÑÑ. ÐолÑзоваÑели LDAP не ÑмогÑÑ Ð²Ð¾Ð¹Ñи ÑеÑез конÑолÑ. ЧÑÐ¾Ð±Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑÑо поведение, изÑÑиÑе оÑÑалÑнÑе ÑÐ°Ð¹Ð»Ñ Ð² [.filename]#/etc/pam.d# и измениÑе Ð¸Ñ ÑооÑвеÑÑÑвÑÑÑим обÑазом. +==== + +[[client-nss]] +=== Name Service Switch + +NSS â ÑÑо ÑлÑжба, коÑоÑÐ°Ñ ÑопоÑÑавлÑÐµÑ Ð°ÑÑибÑÑÑ Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸. ÐапÑимеÑ, еÑли Ñайл пÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ `1001`, пÑиложение запÑоÑÐ¸Ñ Ñ NSS Ð¸Ð¼Ñ Ð´Ð»Ñ `1001` и Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð»ÑÑиÑÑ `bob`, `ted` или лÑбое дÑÑгое Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ. + +ТепеÑÑ, когда инÑоÑмаÑÐ¸Ñ Ð¾ полÑзоваÑелÑÑ Ñ ÑаниÑÑÑ Ð² LDAP, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑказаÑÑ NSS обÑаÑаÑÑÑÑ ÑÑда пÑи запÑоÑÐ°Ñ . + +ÐоÑÑ package:net/nss_ldap[] вÑполнÑÐµÑ ÑÑо. Ðн иÑполÑзÑÐµÑ ÑÐ¾Ñ Ð¶Ðµ конÑигÑÑаÑионнÑй Ñайл, ÑÑо и package:security/pam_ldap[], и поÑле ÑÑÑановки не должен ÑÑебоваÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ Ð¿Ð°ÑамеÑÑов. ÐмеÑÑо ÑÑого оÑÑаÑÑÑÑ Ð¿ÑоÑÑо оÑÑедакÑиÑоваÑÑ [.filename]#/etc/nsswitch.conf#, ÑÑÐ¾Ð±Ñ Ð²Ð¾ÑполÑзоваÑÑÑÑ Ð¿ÑеимÑÑеÑÑвами каÑалога. ÐÑоÑÑо замениÑе ÑледÑÑÑие ÑÑÑоки: + +[.programlisting] +.... +group: compat +passwd: compat +.... + +ÑÑÑокой + +[.programlisting] +.... +group: files ldap +passwd: files ldap +.... + +ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ ÑопоÑÑавлÑÑÑ Ð¸Ð¼ÐµÐ½Ð° полÑзоваÑелей Ñ UID и UID Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ полÑзоваÑелей. + +ÐоздÑавлÑем! ТепеÑÑ Ñ Ð²Ð°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° ÑабоÑаÑÑ Ð°ÑÑенÑиÑикаÑÐ¸Ñ ÑеÑез LDAP. + +[[caveats]] +=== ÐÑедоÑÑеÑÐµÐ¶ÐµÐ½Ð¸Ñ + +Ð ÑожалениÑ, на Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÑÑой докÑменÑаÑии FreeBSD не поддеÑживал изменение паÑолей полÑзоваÑелей Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ man:passwd[1]. Ð ÑезÑлÑÑаÑе болÑÑинÑÑÐ²Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑоÑов пÑÐ¸Ñ Ð¾Ð´Ð¸ÑÑÑ ÑамоÑÑоÑÑелÑно ÑеализовÑваÑÑ ÑеÑение. ÐдеÑÑ Ñ Ð¿ÑÐ¸Ð²Ð¾Ð¶Ñ Ð½ÐµÑколÑко пÑимеÑов. ÐбÑаÑиÑе внимание, ÑÑо еÑли Ð²Ñ Ð¿Ð¸ÑеÑе ÑобÑÑвеннÑй ÑкÑÐ¸Ð¿Ñ Ð´Ð»Ñ ÑÐ¼ÐµÐ½Ñ Ð¿Ð°ÑолÑ, вам ÑледÑÐµÑ ÑÑиÑÑваÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи; Ñм. crossref:ldap-auth[security-passwd, Ð¥Ñанение паÑолей] + +[[chpw-shell]] +.СкÑÐ¸Ð¿Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñки Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð°Ñолей +[example] +==== + +[.programlisting] +.... +#!/bin/sh + +stty -echo +read -p "Old Password: " oldp; echo +read -p "New Password: " np1; echo +read -p "Retype New Password: " np2; echo +stty echo + +if [ "$np1" != "$np2" ]; then + echo "Passwords do not match." + exit 1 +fi + +ldappasswd -D uid="$USER",ou=people,dc=example,dc=org \ + -w "$oldp" \ + -a "$oldp" \ + -s "$np1" +.... + +==== + +[CAUTION] +==== + +ÐÑÐ¾Ñ ÑкÑÐ¸Ð¿Ñ Ð¿Ð¾ÑÑи не пÑовеÑÑÐµÑ Ð¾Ñибки, ÑÑо более важно, он оÑÐµÐ½Ñ Ð±ÐµÑпеÑен в Ñом, как Ñ ÑÐ°Ð½Ð¸Ñ Ð²Ð°Ñи паÑоли. ÐÑли Ð²Ñ Ð´ÐµÐ»Ð°ÐµÑе ÑÑо-Ñо подобное, по кÑайней меÑе измениÑе знаÑение sysctl `security.bsd.see_other_uids`: + +[source, shell] +.... +# sysctl security.bsd.see_other_uids=0 +.... + +==== + +Ðолее гибкий (и, веÑоÑÑно, более безопаÑнÑй) Ð¿Ð¾Ð´Ñ Ð¾Ð´ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñеализован пÑÑем напиÑÐ°Ð½Ð¸Ñ ÑобÑÑвенной пÑогÑÐ°Ð¼Ð¼Ñ Ð¸Ð»Ð¸ даже веб-инÑеÑÑейÑа. Ðиже пÑиведена ÑаÑÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки на Ruby, коÑоÑÐ°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ Ð¿Ð°Ñоли в LDAP. Ðна иÑполÑзÑеÑÑÑ ÐºÐ°Ðº в командной ÑÑÑоке, Ñак и в вебе. + +[[chpw-ruby]] +.Ruby-ÑкÑÐ¸Ð¿Ñ Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð°Ñолей +[example] +==== + +[.programlisting] +.... +require 'ldap' +require 'base64' +require 'digest' +require 'password' # ruby-password + +ldap_server = "ldap.example.org" +luser = "uid=#{ENV['USER']},ou=people,dc=example,dc=org" + +# get the new password, check it, and create a salted hash from it +def get_password + pwd1 = Password.get("New Password: ") + pwd2 = Password.get("Retype New Password: ") + + raise if pwd1 != pwd2 + pwd1.check # check password strength + + salt = rand.to_s.gsub(/0\./, '') + pass = pwd1.to_s + hash = "{SSHA}"+Base64.encode64(Digest::SHA1.digest("#{pass}#{salt}")+salt).chomp! + return hash +end + +oldp = Password.get("Old Password: ") +newp = get_password + +# We'll just replace it. That we can bind proves that we either know +# the old password or are an admin. + +replace = LDAP::Mod.new(LDAP::LDAP_MOD_REPLACE | LDAP::LDAP_MOD_BVALUES, + "userPassword", + [newp]) + +conn = LDAP::SSLConn.new(ldap_server, 389, true) +conn.set_option(LDAP::LDAP_OPT_PROTOCOL_VERSION, 3) +conn.bind(luser, oldp) +conn.modify(luser, [replace]) +.... + +==== + +ХоÑÑ ÑÑо не гаÑанÑиÑÑÐµÑ Ð¾ÑÑÑÑÑÑÐ²Ð¸Ñ ÑÑзвимоÑÑей (напÑимеÑ, паÑÐ¾Ð»Ñ Ñ ÑаниÑÑÑ Ð² памÑÑи), даннÑй Ð¿Ð¾Ð´Ñ Ð¾Ð´ ÑиÑе и гибÑе, Ñем пÑоÑÑой ÑкÑÐ¸Ð¿Ñ Ð½Ð° `sh`. + +[[secure]] +== ÐезопаÑноÑÑÑ + +ТепеÑÑ, когда ваÑи маÑÐ¸Ð½Ñ (и, возможно, дÑÑгие ÑлÑжбÑ) пÑÐ¾Ñ Ð¾Ð´ÑÑ Ð°ÑÑенÑиÑикаÑÐ¸Ñ ÑеÑез Ð²Ð°Ñ LDAP-ÑеÑвеÑ, ÑÑÐ¾Ñ ÑеÑÐ²ÐµÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ заÑиÑиÑÑ ÐºÐ°Ðº минимÑм Ñак же, как [.filename]#/etc/master.passwd# на обÑÑном ÑеÑвеÑе, а возможно, и лÑÑÑе, поÑколÑÐºÑ ÑломаннÑй или взломаннÑй LDAP-ÑеÑÐ²ÐµÑ Ð½Ð°ÑÑÑÐ¸Ñ ÑабоÑÑ Ð²ÑÐµÑ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¸Ñ ÑлÑжб. + +ÐомниÑе, ÑÑо ÑÑÐ¾Ñ Ñаздел не ÑвлÑеÑÑÑ Ð¸ÑÑеÑпÑваÑÑим. Ðам ÑледÑÐµÑ Ð¿Ð¾ÑÑоÑнно пеÑеÑмаÑÑиваÑÑ ÑÐ²Ð¾Ñ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ Ð¸ пÑоÑедÑÑÑ Ð´Ð»Ñ ÑлÑÑÑений. + +[[secure-readonly]] +=== УÑÑановка аÑÑибÑÑов ÑолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ + +ÐекоÑоÑÑе аÑÑибÑÑÑ Ð² LDAP Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ ÑолÑко Ð´Ð»Ñ ÑÑениÑ. ÐÑли оÑÑавиÑÑ Ð¸Ñ Ð´Ð¾ÑÑÑпнÑми Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи полÑзоваÑелем, напÑимеÑ, полÑзоваÑÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ñвой аÑÑибÑÑ `uidNumber` на `0` и полÑÑиÑÑ Ð´Ð¾ÑÑÑп `root`! + +ÐÐ»Ñ Ð½Ð°Ñала аÑÑибÑÑ `userPassword` не должен бÑÑÑ Ð´Ð¾ÑÑÑпен Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Ð²Ñем. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð»Ñбой, кÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ðº LDAP-ÑеÑвеÑÑ, Ð¼Ð¾Ð¶ÐµÑ ÑиÑаÑÑ ÑÑÐ¾Ñ Ð°ÑÑибÑÑ. ЧÑÐ¾Ð±Ñ Ð¾ÑклÑÑиÑÑ ÑÑо, добавÑÑе ÑледÑÑÑее в [.filename]#slapd.conf#: + +[[hide-userpass]] +.СкÑÑÑÑ Ð¿Ð°Ñоли +[example] +==== + +[.programlisting] +.... +access to dn.subtree="ou=people,dc=example,dc=org" + attrs=userPassword + by self write + by anonymous auth + by * none + +access to * + by self write + by * read +.... + +==== + +ÐÑо запÑеÑÐ¸Ñ ÑÑение аÑÑибÑÑа `userPassword`, но Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелÑм изменÑÑÑ Ñвои ÑобÑÑвеннÑе паÑоли. + +ÐÑоме Ñого, ÑледÑÐµÑ Ð·Ð°Ð¿ÑеÑиÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑм изменÑÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе из ÑÐ²Ð¾Ð¸Ñ Ð°ÑÑибÑÑов. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑели могÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ Ð»ÑбÑе аÑÑибÑÑÑ (за иÑклÑÑением ÑÐµÑ , коÑоÑÑе Ñами ÑÑ ÐµÐ¼Ñ LDAP запÑеÑаÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ), Ñакие как `uidNumber`. ЧÑÐ¾Ð±Ñ ÑÑÑÑаниÑÑ ÑÑÑ ÑÑзвимоÑÑÑ, измениÑе пÑиведÑнное вÑÑе на + +[[attrib-readonly]] +.ÐÑÑибÑÑÑ ÑолÑко Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ +[example] +==== + +[.programlisting] +.... +access to dn.subtree="ou=people,dc=example,dc=org" + attrs=userPassword + by self write + by anonymous auth + by * none + +access to attrs=homeDirectory,uidNumber,gidNumber + by * read + +access to * + by self write + by * read +.... + +==== + +ÐÑо пÑедоÑвÑаÑÐ¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¿Ð¾Ð»ÑзоваÑелей маÑкиÑоваÑÑÑÑ Ð¿Ð¾Ð´ дÑÑÐ³Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелей. + +[[secure-root]] +=== ÐпÑеделение ÑÑеÑной запиÑи `root` + +ЧаÑÑо ÑÑеÑÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ `root` или админиÑÑÑаÑоÑа Ð´Ð»Ñ ÑлÑÐ¶Ð±Ñ LDAP бÑÐ´ÐµÑ Ð¾Ð¿Ñеделена в Ñайле конÑигÑÑаÑии. ÐапÑимеÑ, OpenLDAP поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÑо, и ÑÑо ÑабоÑаеÑ, но Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к пÑоблемам, еÑли Ñайл [.filename]#slapd.conf# бÑÐ´ÐµÑ ÑкомпÑомеÑиÑован. Ðозможно, лÑÑÑе иÑполÑзоваÑÑ ÑÑо ÑолÑко Ð´Ð»Ñ Ð¿ÐµÑвонаÑалÑной наÑÑÑойки доÑÑÑпа к LDAP, а заÑем опÑеделиÑÑ ÑÑеÑнÑÑ Ð·Ð°Ð¿Ð¸ÑÑ `root` Ñам. + +ÐÑе лÑÑÑе опÑеделиÑÑ ÑÑеÑнÑе запиÑи Ñ Ð¾Ð³ÑаниÑеннÑми пÑавами и полноÑÑÑÑ Ð¸ÑклÑÑиÑÑ ÑÑеÑнÑÑ Ð·Ð°Ð¿Ð¸ÑÑ `root`. ÐапÑимеÑ, полÑзоваÑели, коÑоÑÑе могÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ Ð¸Ð»Ð¸ ÑдалÑÑÑ ÑÑеÑнÑе запиÑи, добавлÑÑÑÑÑ Ð² Ð¾Ð´Ð½Ñ Ð³ÑÑппÑ, но Ñами не могÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ ÑоÑÑав ÑÑой гÑÑппÑ. Ð¢Ð°ÐºÐ°Ñ Ð¿Ð¾Ð»Ð¸Ñика безопаÑноÑÑи Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ ÑнизиÑÑ Ð¿Ð¾ÑледÑÑÐ²Ð¸Ñ ÑÑеÑки паÑолÑ. + +[[manager-acct]] +==== Создание гÑÑÐ¿Ð¿Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ + +ÐÑедположим, Ð²Ñ Ñ Ð¾ÑиÑе, ÑÑÐ¾Ð±Ñ Ð²Ð°Ñ IT-оÑдел мог изменÑÑÑ Ð´Ð¾Ð¼Ð°Ñние каÑалоги полÑзоваÑелей, но не Ñ Ð¾ÑиÑе, ÑÑÐ¾Ð±Ñ Ð²Ñе они могли добавлÑÑÑ Ð¸Ð»Ð¸ ÑдалÑÑÑ Ð¿Ð¾Ð»ÑзоваÑелей. СпоÑоб ÑделаÑÑ ÑÑо â добавиÑÑ Ð³ÑÑÐ¿Ð¿Ñ Ð´Ð»Ñ ÑÑÐ¸Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑоÑов: + +[[manager-acct-dn]] +.Создание гÑÑÐ¿Ð¿Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ +[example] +==== + +[.programlisting] +.... +dn: cn=homemanagement,dc=example,dc=org +objectClass: top +objectClass: posixGroup +cn: homemanagement +gidNumber: 121 # required for posixGroup +memberUid: uid=tuser,ou=people,dc=example,dc=org +memberUid: uid=user2,ou=people,dc=example,dc=org +.... + +==== + +РзаÑем измениÑе аÑÑибÑÑÑ Ð¿Ñав в [.filename]#slapd.conf#: + +[[management-acct-acl]] +.ACL Ð´Ð»Ñ Ð³ÑÑÐ¿Ð¿Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¼Ð°Ñним каÑалогом +[example] +==== + +[.programlisting] +.... +access to dn.subtree="ou=people,dc=example,dc=org" + attr=homeDirectory + by dn="cn=homemanagement,dc=example,dc=org" + dnattr=memberUid write +.... + +==== + +ТепеÑÑ `tuser` и `user2` могÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ Ð´Ð¾Ð¼Ð°Ñние каÑалоги дÑÑÐ³Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелей. + +Ð ÑÑом пÑимеÑе Ð¼Ñ Ð¿ÑедоÑÑавили подмножеÑÑво админиÑÑÑаÑивнÑÑ Ð¿Ð¾Ð»Ð½Ð¾Ð¼Ð¾Ñий опÑеделÑннÑм полÑзоваÑелÑм, не Ð´Ð°Ð²Ð°Ñ Ð¸Ð¼ влаÑÑи в дÑÑÐ³Ð¸Ñ Ð¾Ð±Ð»Ð°ÑÑÑÑ . ÐÐ´ÐµÑ Ð·Ð°ÐºÐ»ÑÑаеÑÑÑ Ð² Ñом, ÑÑÐ¾Ð±Ñ Ð²ÑкоÑе ни одна ÑÑÑÑÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð½Ðµ обладала полномоÑиÑми ÑÑÑÑной запиÑи `root`, но каждое полномоÑие, коÑоÑое имел root, бÑло Ð±Ñ Ñ Ñ Ð¾ÑÑ Ð±Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ полÑзоваÑелÑ. УÑÑÑÐ½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑ `root` Ñогда ÑÑановиÑÑÑ Ð½ÐµÐ½Ñжной и Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñдалена. + +[[security-passwd]] +=== Ð¥Ñанение паÑолей + +Ðо ÑмолÑÐ°Ð½Ð¸Ñ OpenLDAP ÑÐ¾Ñ ÑанÑÐµÑ Ð·Ð½Ð°Ñение аÑÑибÑÑа `userPassword` Ñак же, как и лÑбÑе дÑÑгие даннÑе: в оÑкÑÑÑом виде. РболÑÑинÑÑве ÑлÑÑаев оно кодиÑÑеÑÑÑ Ð² base64, ÑÑо обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð´Ð¾ÑÑаÑоÑнÑÑ Ð·Ð°ÑиÑÑ, ÑÑÐ¾Ð±Ñ ÑеÑÑнÑй админиÑÑÑаÑÐ¾Ñ Ð½Ðµ Ñзнал Ð²Ð°Ñ Ð¿Ð°ÑолÑ, но не более Ñого. + +ХоÑоÑей идеей ÑвлÑеÑÑÑ Ñ Ñанение паÑолей в более безопаÑном ÑоÑмаÑе, Ñаком как SSHA (ÑолÑнÑй SHA). ÐÑо вÑполнÑеÑÑÑ Ð»Ñбой пÑогÑаммой, коÑоÑÑÑ Ð²Ñ Ð¸ÑполÑзÑеÑе Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð°Ñолей полÑзоваÑелей. + +:sectnums!: + +[appendix] +[[useful]] +== ÐолезнÑе инÑÑÑÑменÑÑ + +ÐÐ¾Ñ Ð½ÐµÑколÑко дÑÑÐ³Ð¸Ñ Ð¿ÑогÑамм, коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ, оÑобенно еÑли Ñ Ð²Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾ полÑзоваÑелей и Ð²Ñ Ð½Ðµ Ñ Ð¾ÑиÑе наÑÑÑаиваÑÑ Ð²ÑÑ Ð²ÑÑÑнÑÑ. + +package:security/pam_mkhomedir[] â ÑÑо модÑÐ»Ñ PAM, коÑоÑÑй вÑегда завеÑÑаеÑÑÑ ÑÑпеÑно; его назнаÑение â ÑоздаваÑÑ Ð´Ð¾Ð¼Ð°Ñние каÑалоги Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей, Ñ ÐºÐ¾ÑоÑÑÑ Ð¸Ñ Ð½ÐµÑ. ÐÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ Ð´ÐµÑÑÑки ÑеÑвеÑов-клиенÑов и ÑоÑни полÑзоваÑелей, гоÑаздо Ñдобнее иÑполÑзоваÑÑ ÑÑÐ¾Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð¸ наÑÑÑоиÑÑ ÑкелеÑнÑе каÑалоги, Ñем подгоÑавливаÑÑ ÐºÐ°Ð¶Ð´Ñй домаÑний каÑалог вÑÑÑнÑÑ. + +package:sysutils/ldapvi[] â ÑÑо оÑлиÑÐ½Ð°Ñ ÑÑилиÑа Ð´Ð»Ñ ÑедакÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð½Ð°Ñений LDAP в ÑинÑакÑиÑе, подобном LDIF. ÐаÑалог (или его подÑаздел) оÑобÑажаеÑÑÑ Ð² ÑедакÑоÑе, вÑбÑанном пеÑеменной окÑÑÐ¶ÐµÐ½Ð¸Ñ `EDITOR`. ÐÑо позволÑÐµÑ Ð»ÐµÐ³ÐºÐ¾ вноÑиÑÑ Ð¼Ð°ÑÑÑабнÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² каÑалог без Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи напиÑÐ°Ð½Ð¸Ñ ÑобÑÑвенного инÑÑÑÑменÑа. + +package:security/openssh-portable[] Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑÑ Ð¾Ð±ÑаÑаÑÑÑÑ Ðº ÑеÑвеÑÑ LDAP Ð´Ð»Ñ Ð¿ÑовеÑки SSH-клÑÑей. ÐÑо оÑÐµÐ½Ñ Ñдобно, еÑли Ñ Ð²Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾ ÑеÑвеÑов и Ð²Ñ Ð½Ðµ Ñ Ð¾ÑиÑе копиÑоваÑÑ Ñвои оÑкÑÑÑÑе клÑÑи на вÑе из Ð½Ð¸Ñ . + +:sectnums!: + +[appendix] +[[ssl-ca]] +== СеÑÑиÑикаÑÑ OpenSSL Ð´Ð»Ñ LDAP + +ÐÑли Ð²Ñ ÑазмеÑаеÑе два или более LDAP-ÑеÑвеÑов, вам, веÑоÑÑно, не Ð·Ð°Ñ Ð¾ÑеÑÑÑ Ð¸ÑполÑзоваÑÑ ÑамоподпиÑаннÑе ÑеÑÑиÑикаÑÑ, Ñак как каждÑй ÐºÐ»Ð¸ÐµÐ½Ñ Ð¿ÑидеÑÑÑ Ð½Ð°ÑÑÑаиваÑÑ Ð´Ð»Ñ ÑабоÑÑ Ñ ÐºÐ°Ð¶Ð´Ñм ÑеÑÑиÑикаÑом. ХоÑÑ ÑÑо возможно, ÑÑо не Ñак пÑоÑÑо, как ÑоздаÑÑ ÑобÑÑвеннÑй ÑенÑÑ ÑеÑÑиÑикаÑии и подпиÑаÑÑ ÑеÑÑиÑикаÑÑ Ð²Ð°ÑÐ¸Ñ ÑеÑвеÑов Ñ ÐµÐ³Ð¾ помоÑÑÑ. + +Шаги здеÑÑ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ ÐºÐ°Ðº еÑÑÑ, без попÑÑок обÑÑÑниÑÑ Ð¿ÑоиÑÑ Ð¾Ð´ÑÑее â дополниÑелÑнÑе поÑÑÐ½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ найÑи в man:openssl[1] и ÑвÑзаннÑÑ ÑпÑавоÑнÑÑ ÑÑÑаниÑÐ°Ñ . + +ÐÐ»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑенÑÑа ÑеÑÑиÑикаÑии нам пÑоÑÑо нÑÐ¶Ð½Ñ ÑамоподпиÑаннÑй ÑеÑÑиÑÐ¸ÐºÐ°Ñ Ð¸ клÑÑ. Шаги Ð´Ð»Ñ ÑÑого ÑледÑÑÑие + +[[make-cert]] +.Создание ÑеÑÑиÑикаÑа +[example] +==== + +[source, shell] +.... +% openssl genrsa -out root.key 1024 +% openssl req -new -key root.key -out root.csr +% openssl x509 -req -days 1024 -in root.csr -signkey root.key -out root.crt +.... + +==== + +ÐÑо бÑдÑÑ ÐºÐ¾Ñневой клÑÑ Ð¸ ÑеÑÑиÑÐ¸ÐºÐ°Ñ Ð¦Ð¡. Ðозможно, Ð²Ñ Ð·Ð°Ñ Ð¾ÑиÑе заÑиÑÑоваÑÑ ÐºÐ»ÑÑ Ð¸ Ñ ÑаниÑÑ ÐµÐ³Ð¾ в пÑÐ¾Ñ Ð»Ð°Ð´Ð½Ð¾Ð¼, ÑÑÑ Ð¾Ð¼ меÑÑе; лÑбой, кÑо полÑÑÐ¸Ñ Ðº Ð½ÐµÐ¼Ñ Ð´Ð¾ÑÑÑп, ÑÐ¼Ð¾Ð¶ÐµÑ Ð²ÑдаваÑÑ ÑÐµÐ±Ñ Ð·Ð° один из ваÑÐ¸Ñ LDAP-ÑеÑвеÑов. + +ÐаÑем, иÑполÑзÑÑ Ð¿ÐµÑвÑе два Ñага, опиÑаннÑе вÑÑе, ÑоздайÑе клÑÑ [.filename]#ldap-server-one.key# и запÑÐ¾Ñ Ð½Ð° подпиÑÑ ÑеÑÑиÑикаÑа [.filename]#ldap-server-one.csr#. ÐоÑле подпиÑÐ°Ð½Ð¸Ñ Ð·Ð°Ð¿ÑоÑа Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ [.filename]#root.key# Ð²Ñ ÑможеÑе иÑполÑзоваÑÑ [.filename]#ldap-server-one.*# на ÑÐ²Ð¾Ð¸Ñ LDAP-ÑеÑвеÑÐ°Ñ . + +[NOTE] +==== +Ðе забÑдÑÑе иÑполÑзоваÑÑ Ð¿Ð¾Ð»Ð½Ð¾Ðµ доменное Ð¸Ð¼Ñ Ð´Ð»Ñ Ð°ÑÑибÑÑа "common name" пÑи Ñоздании запÑоÑа на подпиÑÑ ÑеÑÑиÑикаÑа; в пÑоÑивном ÑлÑÑае клиенÑÑ Ð±ÑдÑÑ Ð¾ÑклонÑÑÑ Ñоединение Ñ Ð²Ð°Ð¼Ð¸, и диагноÑÑика ÑÑой пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÐµÐ½Ñ Ñложной. +==== + +ÐÐ»Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñи клÑÑа иÑполÑзÑйÑе `-CA` и `-CAkey` вмеÑÑо `-signkey`: + +[[ca-sign]] +.ÐодпиÑÑваÑÑ ÐºÐ°Ðº ЦенÑÑ Ð¡ÐµÑÑиÑикаÑии +[example] +==== + +[source, shell] +.... +% openssl x509 -req -days 1024 \ +-in ldap-server-one.csr -CA root.crt -CAkey root.key \ +-out ldap-server-one.crt +.... + +==== + +РезÑлÑÑиÑÑÑÑий Ñайл бÑÐ´ÐµÑ Ð¿ÑедÑÑавлÑÑÑ Ñобой ÑеÑÑиÑикаÑ, коÑоÑÑй можно иÑполÑзоваÑÑ Ð½Ð° ваÑÐ¸Ñ LDAP-ÑеÑвеÑÐ°Ñ . + +ÐаконеÑ, ÑÑÐ¾Ð±Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑ Ð´Ð¾Ð²ÐµÑÑли вÑем ваÑим ÑеÑвеÑам, ÑаÑпÑоÑÑÑаниÑе Ñайл [.filename]#root.crt# (__ÑеÑÑиÑикаÑ__, а не клÑÑ!) на каждом клиенÑе и ÑкажиÑе его в диÑекÑиве `TLSCACertificateFile` в Ñайле [.filename]#ldap.conf#. diff --git a/documentation/content/ru/articles/ldap-auth/_index.po b/documentation/content/ru/articles/ldap-auth/_index.po new file mode 100644 index 0000000000..e064db5f93 --- /dev/null +++ b/documentation/content/ru/articles/ldap-auth/_index.po @@ -0,0 +1,1887 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <[email protected]>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-09-23 19:02+0300\n" +"PO-Revision-Date: 2025-08-15 04:45+0000\n" +"Last-Translator: Vladlen Popolitov <[email protected]>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/articlesldap-auth_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/articles/ldap-auth/_index.adoc:1 +#, no-wrap +msgid "Guide for the configuration of an LDAP server for authentication on FreeBSD" +msgstr "Ð ÑководÑÑво по наÑÑÑойке ÑеÑвеÑа LDAP Ð´Ð»Ñ Ð°ÑÑенÑиÑикаÑии в FreeBSD" + +#. type: Title = +#: documentation/content/en/articles/ldap-auth/_index.adoc:1 +#: documentation/content/en/articles/ldap-auth/_index.adoc:12 +#, no-wrap +msgid "LDAP Authentication" +msgstr "ÐÑÑенÑиÑикаÑÐ¸Ñ LDAP" + +#. type: Plain text +#: documentation/content/en/articles/ldap-auth/_index.adoc:45 +msgid "Abstract" +msgstr "ÐнноÑаÑиÑ" + +#. type: Plain text +#: documentation/content/en/articles/ldap-auth/_index.adoc:48 +msgid "" +"This document is intended as a guide for the configuration of an LDAP server " +"(principally an OpenLDAP server) for authentication on FreeBSD. This is " +"useful for situations where many servers need the same user accounts, for " +"example as a replacement for NIS." +msgstr "" +"ÐÑÐ¾Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ ÑвлÑеÑÑÑ ÑÑководÑÑвом по наÑÑÑойке ÑеÑвеÑа LDAP (в оÑновном " +"ÑеÑвеÑа OpenLDAP) Ð´Ð»Ñ Ð°ÑÑенÑиÑикаÑии в FreeBSD. ÐÑо полезно в ÑиÑÑаÑиÑÑ , " +"когда множеÑÑво ÑеÑвеÑов ÑÑебÑÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²ÑÑ ÑÑÑÑнÑÑ Ð·Ð°Ð¿Ð¸Ñей полÑзоваÑелей, " +"напÑимеÑ, в каÑеÑÑве Ð·Ð°Ð¼ÐµÐ½Ñ NIS." + +#. type: Plain text +#: documentation/content/en/articles/ldap-auth/_index.adoc:50 +msgid "'''" +msgstr "'''" + +#. type: Title == +#: documentation/content/en/articles/ldap-auth/_index.adoc:54 +#, no-wrap +msgid "Preface" +msgstr "ÐÑедиÑловие" + +#. type: Plain text +#: documentation/content/en/articles/ldap-auth/_index.adoc:58 +msgid "" +"This document is intended to give the reader enough of an understanding of " +"LDAP to configure an LDAP server. This document will attempt to provide an " +"explanation of package:net/nss_ldap[] and package:security/pam_ldap[] for " +"use with client machines services for use with the LDAP server." +msgstr "" +"ÐÑÐ¾Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ Ð¿ÑедназнаÑен Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð´Ð°ÑÑ ÑиÑаÑÐµÐ»Ñ Ð´Ð¾ÑÑаÑоÑно знаний о " +"LDAP Ð´Ð»Ñ Ð½Ð°ÑÑÑойки ÑеÑвеÑа LDAP. РдокÑменÑе бÑÐ´ÐµÑ Ð¿ÑедпÑинÑÑа попÑÑка " +"обÑÑÑниÑÑ Ð¸ÑполÑзование package:net/nss_ldap[] и package:security/pam_ldap[] " +"Ð´Ð»Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¸Ñ Ð¼Ð°Ñин, ÑабоÑаÑÑÐ¸Ñ Ñ ÑеÑвеÑом LDAP." + +#. type: Plain text +#: documentation/content/en/articles/ldap-auth/_index.adoc:60 +msgid "" +"When finished, the reader should be able to configure and deploy a FreeBSD " +"server that can host an LDAP directory, and to configure and deploy a " +"FreeBSD server which can authenticate against an LDAP directory." +msgstr "" +"Ðо завеÑÑении ÑиÑаÑÐµÐ»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑмеÑÑ Ð½Ð°ÑÑÑоиÑÑ Ð¸ ÑазвеÑнÑÑÑ ÑеÑÐ²ÐµÑ FreeBSD, " +"ÑпоÑобнÑй ÑазмеÑаÑÑ ÐºÐ°Ñалог LDAP, а Ñакже наÑÑÑоиÑÑ Ð¸ ÑазвеÑнÑÑÑ ÑеÑÐ²ÐµÑ " +"FreeBSD, коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑÐ¾Ñ Ð¾Ð´Ð¸ÑÑ Ð°ÑÑенÑиÑикаÑÐ¸Ñ Ñ Ð¸ÑполÑзованием каÑалога " +"LDAP." + +#. type: Plain text +#: documentation/content/en/articles/ldap-auth/_index.adoc:64 +msgid "" +"This article is not intended to be an exhaustive account of the security, " +"robustness, or best practice considerations for configuring LDAP or the " +"other services discussed herein. While the author takes care to do " +"everything correctly, they do not address security issues beyond a general " +"scope. This article should be considered to lay the theoretical groundwork " +"only, and any actual implementation should be accompanied by careful " +"requirement analysis." +msgstr "" +"ÐÑа ÑÑаÑÑÑ Ð½Ðµ пÑеÑендÑÐµÑ Ð½Ð° иÑÑеÑпÑваÑÑее опиÑание вопÑоÑов безопаÑноÑÑи, " +"надежноÑÑи или лÑÑÑÐ¸Ñ Ð¿ÑакÑик наÑÑÑойки LDAP и дÑÑÐ³Ð¸Ñ Ð¾Ð±ÑÑждаемÑÑ Ð·Ð´ÐµÑÑ " +"ÑеÑвиÑов. ХоÑÑ Ð°Ð²ÑÐ¾Ñ ÑÑаÑаеÑÑÑ Ð´ÐµÐ»Ð°ÑÑ Ð²ÑÑ Ð¿ÑавилÑно, вопÑоÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи " +"ÑаÑÑмаÑÑиваÑÑÑÑ Ð»Ð¸ÑÑ Ð² обÑÐ¸Ñ ÑеÑÑÐ°Ñ . ÐÐ°Ð½Ð½Ð°Ñ ÑÑаÑÑÑ Ð´Ð¾Ð»Ð¶Ð½Ð° ÑаÑÑмаÑÑиваÑÑÑÑ " +"ÑолÑко как ÑеоÑеÑиÑеÑÐºÐ°Ñ Ð¾Ñнова, а лÑÐ±Ð°Ñ ÑеалÑÐ½Ð°Ñ ÑеализаÑÐ¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° " +"ÑопÑовождаÑÑÑÑ ÑÑаÑелÑнÑм анализом ÑÑебований." + +#. type: Title == +#: documentation/content/en/articles/ldap-auth/_index.adoc:66 +#, no-wrap +msgid "Configuring LDAP" +msgstr "ÐаÑÑÑойка LDAP" + +#. type: Plain text +#: documentation/content/en/articles/ldap-auth/_index.adoc:71 +msgid "" +"LDAP stands for \"Lightweight Directory Access Protocol\" and is a subset of " +"the X.500 Directory Access Protocol. Its most recent specifications are in " +"http://www.ietf.org/rfc/rfc4510.txt[RFC4510] and friends. Essentially it is " +"a database that expects to be read from more often than it is written to." +msgstr "" +"LDAP ознаÑÐ°ÐµÑ \"Lightweight Directory Access Protocol\" (облегÑÑннÑй " +"пÑоÑокол доÑÑÑпа к каÑалогам) и ÑвлÑеÑÑÑ Ð¿Ð¾Ð´Ð¼Ð½Ð¾Ð¶ÐµÑÑвом X.500 Directory " +"Access Protocol. ÐоÑледние ÑпеÑиÑикаÑии можно найÑи в http://www.ietf.org/" +"rfc/rfc4510.txt[RFC4510] и ÑвÑзаннÑÑ Ð´Ð¾ÐºÑменÑÐ°Ñ . Ðо ÑÑÑи, ÑÑо база даннÑÑ , " +"коÑоÑÐ°Ñ Ð¿ÑÐµÐ´Ð¿Ð¾Ð»Ð°Ð³Ð°ÐµÑ Ð±Ð¾Ð»ÐµÐµ ÑаÑÑÑе опеÑаÑии ÑÑениÑ, Ñем запиÑи." + +#. type: Plain text +#: documentation/content/en/articles/ldap-auth/_index.adoc:75 +msgid "" +"The LDAP server http://www.openldap.org/[OpenLDAP] will be used in the " +"examples in this document; while the principles here should be generally " +"applicable to many different servers, most of the concrete administration is " +"OpenLDAP-specific. There are several server versions in ports, for example " +"package:net/openldap26-server[]. Client servers will need the corresponding " +"package:net/openldap26-client[] libraries." +msgstr "" +"РпÑимеÑÐ°Ñ Ð² ÑÑом докÑменÑе бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ LDAP-ÑеÑÐ²ÐµÑ http://" +"www.openldap.org/[OpenLDAP]; Ñ Ð¾ÑÑ Ð¿ÑинÑипÑ, изложеннÑе здеÑÑ, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ " +"пÑÐ¸Ð¼ÐµÐ½Ð¸Ð¼Ñ Ðº ÑазлиÑнÑм ÑеÑвеÑам, болÑÑÐ°Ñ ÑаÑÑÑ ÐºÐ¾Ð½ÐºÑеÑнÑÑ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑивнÑÑ " +"дейÑÑвий ÑпеÑиÑиÑна Ð´Ð»Ñ OpenLDAP. РпоÑÑÐ°Ñ Ð´Ð¾ÑÑÑпно неÑколÑко веÑÑий " +"ÑеÑвеÑа, напÑÐ¸Ð¼ÐµÑ package:net/openldap26-server[]. ÐлиенÑÑкие ÑеÑвеÑÑ " +"поÑÑебÑÑÑ ÑооÑвеÑÑÑвÑÑÑие библиоÑеки package:net/openldap26-client[]." + +#. type: Plain text +#: documentation/content/en/articles/ldap-auth/_index.adoc:78 +msgid "" +"There are (basically) two areas of the LDAP service which need " +"configuration. The first is setting up a server to receive connections " +"properly, and the second is adding entries to the server's directory so that " +"FreeBSD tools know how to interact with it." +msgstr "" +"СÑÑеÑÑвÑÑÑ (в оÑновном) две облаÑÑи ÑлÑÐ¶Ð±Ñ LDAP, коÑоÑÑе ÑÑебÑÑÑ Ð½Ð°ÑÑÑойки. " +"ÐеÑÐ²Ð°Ñ â наÑÑÑойка ÑеÑвеÑа Ð´Ð»Ñ Ð¿ÑавилÑного пÑиÑма Ñоединений, а вÑоÑÐ°Ñ â " +"добавление запиÑей в каÑалог ÑеÑвеÑа, ÑÑÐ¾Ð±Ñ Ð¸Ð½ÑÑÑÑменÑÑ FreeBSD знали, как Ñ " +"ним взаимодейÑÑвоваÑÑ." + +#. type: Title === +#: documentation/content/en/articles/ldap-auth/_index.adoc:80 +#, no-wrap +msgid "Setting Up the Server for Connections" +msgstr "ÐаÑÑÑойка ÑеÑвеÑа Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑений" + +#. type: delimited block = 4 +#: documentation/content/en/articles/ldap-auth/_index.adoc:86 +msgid "" +"This section is specific to OpenLDAP. If you are using another server, you " +"will need to consult that server's documentation." +msgstr "" +"ÐÑÐ¾Ñ Ñаздел оÑноÑиÑÑÑ ÐºÐ¾Ð½ÐºÑеÑно к OpenLDAP. ÐÑли Ð²Ñ Ð¸ÑполÑзÑеÑе дÑÑгой " +"ÑеÑвеÑ, вам Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ обÑаÑиÑÑÑÑ Ðº докÑменÑаÑии ÑÑого ÑеÑвеÑа." + +#. type: Block title +#: documentation/content/en/articles/ldap-auth/_index.adoc:89 +#: documentation/content/en/articles/ldap-auth/_index.adoc:94 +#, no-wrap +msgid "Installing OpenLDAP" +msgstr "УÑÑановка OpenLDAP" + +#. type: Plain text +#: documentation/content/en/articles/ldap-auth/_index.adoc:92 +msgid "First, install OpenLDAP:" +msgstr "СнаÑала ÑÑÑановиÑе OpenLDAP:" + +#. type: delimited block . 4 +#: documentation/content/en/articles/ldap-auth/_index.adoc:102 +#, no-wrap +msgid "" +"# cd /usr/ports/net/openldap26-server\n" +"# make install clean\n" +msgstr "" +"# cd /usr/ports/net/openldap26-server\n" +"# make install clean\n" + +#. type: delimited block = 4 +#: documentation/content/en/articles/ldap-auth/_index.adoc:107 +msgid "" +"This installs the `slapd` and `slurpd` binaries, along with the required " +"OpenLDAP libraries." +msgstr "" +"ÐÑо ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð±Ð¸Ð½Ð°ÑнÑе ÑÐ°Ð¹Ð»Ñ `slapd` и `slurpd`, а Ñакже Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе " +"библиоÑеки OpenLDAP." + +#. type: Title ==== +#: documentation/content/en/articles/ldap-auth/_index.adoc:109 +#, no-wrap +msgid "Configuring OpenLDAP" +msgstr "ÐаÑÑÑойка OpenLDAP" + +#. type: delimited block = 4 +#: documentation/content/en/articles/ldap-auth/_index.adoc:112 +msgid "Next we must configure OpenLDAP." +msgstr "Ðалее Ð¼Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð½Ð°ÑÑÑоиÑÑ OpenLDAP." + +#. type: delimited block = 4 +#: documentation/content/en/articles/ldap-auth/_index.adoc:115 +msgid "" +"You will want to require encryption in your connections to the LDAP server; " +"otherwise your users' passwords will be transferred in plain text, which is " +"considered insecure. The tools we will be using support two very similar " +"kinds of encryption, SSL and TLS." +msgstr "" +"Ðам ÑледÑÐµÑ ÑÑебоваÑÑ ÑиÑÑование Ñоединений Ñ ÑеÑвеÑом LDAP; в пÑоÑивном " +"ÑлÑÑае паÑоли ваÑÐ¸Ñ Ð¿Ð¾Ð»ÑзоваÑелей бÑдÑÑ Ð¿ÐµÑедаваÑÑÑÑ Ð² оÑкÑÑÑом виде, ÑÑо " +"ÑÑиÑаеÑÑÑ Ð½ÐµÐ±ÐµÐ·Ð¾Ð¿Ð°ÑнÑм. ÐнÑÑÑÑменÑÑ, коÑоÑÑе Ð¼Ñ Ð±Ñдем иÑполÑзоваÑÑ, " +"поддеÑживаÑÑ Ð´Ð²Ð° оÑÐµÐ½Ñ Ð¿Ð¾Ñ Ð¾Ð¶Ð¸Ñ Ñипа ÑиÑÑованиÑ: SSL и TLS." + +#. type: delimited block = 4 +#: documentation/content/en/articles/ldap-auth/_index.adoc:118 +msgid "" +"TLS stands for \"Transportation Layer Security\". Services that employ TLS " +"tend to connect on the _same_ ports as the same services without TLS; thus " +"an SMTP server which supports TLS will listen for connections on port 25, " +"and an LDAP server will listen on 389." +msgstr "" +"TLS ознаÑÐ°ÐµÑ \"Transportation Layer Security\". СлÑжбÑ, иÑполÑзÑÑÑие TLS, " +"обÑÑно подклÑÑаÑÑÑÑ Ðº Ñем же поÑÑам, ÑÑо и аналогиÑнÑе ÑлÑÐ¶Ð±Ñ Ð±ÐµÐ· TLS; Ñаким " +"обÑазом, SMTP-ÑеÑÐ²ÐµÑ Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой TLS бÑÐ´ÐµÑ Ð¾Ð¶Ð¸Ð´Ð°ÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑений на поÑÑÑ 25, " +"а LDAP-ÑеÑÐ²ÐµÑ â на поÑÑÑ 389." + +#. type: delimited block = 4 +#: documentation/content/en/articles/ldap-auth/_index.adoc:121 +msgid "" +"SSL stands for \"Secure Sockets Layer\", and services that implement SSL do " +"_not_ listen on the same ports as their non-SSL counterparts. Thus SMTPS " +"listens on port 465 (not 25), HTTPS listens on 443, and LDAPS on 636." +msgstr "" +"SSL ознаÑÐ°ÐµÑ Â«Secure Sockets Layer», и ÑлÑжбÑ, ÑеализÑÑÑие SSL, _не_ " +"ÑабоÑаÑÑ Ð½Ð° ÑÐµÑ Ð¶Ðµ поÑÑÐ°Ñ , ÑÑо и Ð¸Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸ без SSL. Таким обÑазом, SMTPS " +"иÑполÑзÑÐµÑ Ð¿Ð¾ÑÑ 465 (а не 25), HTTPS â поÑÑ 443, а LDAPS â поÑÑ 636." + +#. type: delimited block = 4 +#: documentation/content/en/articles/ldap-auth/_index.adoc:125 *** 1636 LINES SKIPPED ***