{"id":330893,"date":"2022-03-21T15:00:45","date_gmt":"2022-03-21T15:00:45","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=330893"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=330893","title":{"rendered":"<span>OpenLDAP \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0446\u0435\u043d\u0442\u0440\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u043b\u044f Nextcloud \u0438 ProFTPD<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041d\u0430 \u0441\u0432\u044f\u0437\u0438 \u0425\u043e\u043b\u043e\u0434\u0430\u0435\u0432 \u0410\u043b\u0435\u043a\u0441\u0435\u0439, \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 Cloud4Y. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f OpenLDAP \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0446\u0435\u043d\u0442\u0440\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u043b\u044f Nextcloud \u0438 ProFTPD.<\/p>\n<p>\u0412 \u0445\u043e\u0434\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u043e\u0442\u0435\u043d \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043d\u0430 Nextcloud \u0438 ProFTPD. \u041d\u0430 ProFTPD \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0441 FTP \u043a\u0432\u043e\u0442\u043e\u0439, \u0430 \u043d\u0430 Nextcloud \u2014 \u0441 Nextcloud \u043a\u0432\u043e\u0442\u043e\u0439. \u0412\u0441\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u041e\u0421 Linux Debian 10. \u0417\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u043b\u043e \u043a\u0430\u043a-\u0442\u043e \u043d\u0435 \u0432\u0435\u0441\u0435\u043b\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043e\u0431\u0440\u0430\u0442\u0438\u043b \u0441\u0432\u043e\u0439 \u0432\u0437\u043e\u0440 \u043d\u0430 \u0446\u0435\u043d\u0442\u0440 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438\u0438 LDAP, \u0436\u0435\u043b\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0446\u0435\u043d\u0442\u0440\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u043b\u044f Nextcloud \u0438 ProFTPD. \u0414\u0435\u043b\u044e\u0441\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439, \u043a\u0430\u043a \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c.<\/p>\n<p>\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u044f \u0432\u044b\u0431\u0440\u0430\u043b \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e OpenLDAP server, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u043d\u0430 Debian 10. \u041e\u0431\u043d\u043e\u0432\u0438\u043b \u041e\u0421 \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b \u0435\u0451:<\/p>\n<pre><code>sudo apt-get -y update  sudo apt-get -y upgrade  sudo reboot<\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b OpenLDAP server \u0438 LDAP \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439<code>apt-get -y install slapd LDAP -utils<\/code><\/p>\n<p>\u0412 \u0445\u043e\u0434\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0438\u043c\u044f \u0434\u043e\u043c\u0435\u043d\u0430, \u0443\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u0431\u0430\u0437\u044b \u0438 \u043a\u0430\u043a\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e LDAP \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0441\u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u0432 \u0445\u043e\u0434\u0443 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0435 \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u00a0OpenLDAP server: <code>dpkg-reconfigure slapd <\/code>\u0438 \u0437\u0430\u0434\u0430\u0439\u0442\u0435 \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0437\u0430\u043d\u043e\u0432\u043e.<\/p>\n<p>\u041f\u0430\u0440\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/790\/957\/453\/790957453a2019c0a053c8957f7eb450.png\" alt=\"\" title=\"\" width=\"878\" height=\"723\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/790\/957\/453\/790957453a2019c0a053c8957f7eb450.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/494\/f06\/ce5\/494f06ce5d46508203084388fc136f21.png\" width=\"885\" height=\"733\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/494\/f06\/ce5\/494f06ce5d46508203084388fc136f21.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>No<\/strong>, \u0442.\u043a. \u043c\u044b \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0430 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c \u0435\u0433\u043e \u0441\u0430\u043c\u0438.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/295\/077\/745\/2950777454391d849192f91cad009459.png\" width=\"680\" height=\"515\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/295\/077\/745\/2950777454391d849192f91cad009459.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0430\u0434\u0430\u0451\u043c \u0438\u043c\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0434\u043e\u043c\u0435\u043d\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/49e\/b5a\/107\/49eb5a107678d8a3a765a4cfa0106ced.png\" width=\"649\" height=\"486\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/49e\/b5a\/107\/49eb5a107678d8a3a765a4cfa0106ced.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0432\u043e\u0434\u0438\u043c \u0438\u043c\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/999\/d1a\/aa1\/999d1aaa12e227f20f33c28e169177a0.png\" width=\"649\" height=\"494\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/999\/d1a\/aa1\/999d1aaa12e227f20f33c28e169177a0.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0432\u0432\u043e\u0434\u0438\u043c \u043f\u0430\u0440\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/62c\/17c\/c91\/62c17cc913e223117bda2f7153a211fb.png\" width=\"669\" height=\"502\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/62c\/17c\/c91\/62c17cc913e223117bda2f7153a211fb.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fdd\/c97\/348\/fddc97348e20de85294e4cd946324507.png\" width=\"649\" height=\"495\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fdd\/c97\/348\/fddc97348e20de85294e4cd946324507.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0442\u0438\u043f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 MDB:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a33\/bb6\/61a\/a33bb661acc5f6e24e942132a7de2b55.png\" width=\"655\" height=\"490\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a33\/bb6\/61a\/a33bb661acc5f6e24e942132a7de2b55.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0434\u0435\u0441\u044c \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>No<\/strong>, \u0442.\u043a. \u043c\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u0431\u0430\u0437\u0430 \u0443\u0434\u0430\u043b\u044f\u043b\u0430\u0441\u044c \u043f\u0440\u0438 \u043e\u0447\u0438\u0441\u0442\u043a\u0435 slapd:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f31\/9f3\/245\/f319f32457fd7fafb7d852ad9adbc657.png\" width=\"651\" height=\"498\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f31\/9f3\/245\/f319f32457fd7fafb7d852ad9adbc657.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>Yes<\/strong>, \u0442.\u043a. \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0441\u0442\u0430\u0440\u0443\u044e \u0431\u0430\u0437\u0443 \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/238\/6fb\/efa\/2386fbefaa913009ca12da644134efc7.png\" width=\"654\" height=\"491\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/238\/6fb\/efa\/2386fbefaa913009ca12da644134efc7.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <code>slapcat<\/code> \u0438 \u0443\u0431\u0435\u0436\u0434\u0430\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d2f\/731\/7a0\/d2f7317a069d700b2201786960cc914c.png\" width=\"657\" height=\"497\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d2f\/731\/7a0\/d2f7317a069d700b2201786960cc914c.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0427\u0442\u043e\u0431\u044b \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441 \u043a\u0432\u043e\u0442\u0430\u043c\u0438 FTP \u0438 \u043a\u0432\u043e\u0442\u0430\u043c\u0438 Nextcloud, \u043d\u0443\u0436\u043d\u043e \u0432\u043d\u0435\u0441\u0442\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0432 \u0441\u0445\u0435\u043c\u0443 LDAP OpenLDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0422\u0430\u043a\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u043d\u0435\u0441\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u044d\u0442\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b.<\/p>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u0443 LDAP \u0432 OpenLDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043c\u043e\u0436\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u041e\u0421 (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f SAML \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f).<\/p>\n<p>\u0412\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0441\u0445\u0435\u043c\u0443 LDAP \u0431\u0443\u0434\u0435\u043c \u0432\u043d\u043e\u0441\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 LDIF \u0444\u0430\u0439\u043b. \u041e\u043d \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0442\u0435\u043a\u0441\u0442:<\/p>\n<pre><code>dn: cn=test,cn=schema,cn=config objectClass: olcSchemaConfig cn: test olcAttributeTypes: ( 1.3.6.1.1.1.1.28 NAME 'ftpQuota'  DESC 'Quota FTP'  EQUALITY caseIgnoreIA5Match  SUBSTR caseIgnoreIA5SubstringsMatch  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26  SINGLE-VALUE ) olcAttributeTypes: ( 1.3.6.1.1.1.1.29 NAME 'NextQuota'  DESC 'Quota Nextcloud '  EQUALITY caseIgnoreIA5Match  SUBSTR caseIgnoreIA5SubstringsMatch  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26  SINGLE-VALUE ) olcObjectClasses:( 1.3.6.1.1.1.2.48 NAME 'FtpNext'  DESC 'Abstraction of an account with POSIX attributes'  SUP top AUXILIARY  MUST ( ftpQuota $ NextQuota ) ) <\/code><\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043d\u0430\u0437\u043e\u0432\u0451\u043c <code>test.ldif<\/code><\/p>\n<p>\u0423 \u0444\u0430\u0439\u043b\u043e\u0432 LDIF \u0435\u0441\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u043f\u0440\u0438 \u0438\u0445 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0437\u043d\u0430\u0442\u044c \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043f\u043e LDAP.<\/p>\n<p>\u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0442\u0438\u043f\u0430 <strong>String,<\/strong> \u043d\u0430 \u0447\u0442\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u0447\u043a\u0430 <strong>EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch<\/strong> \u0432 LDIF<strong> <\/strong>\u0444\u0430\u0439\u043b\u0435.<\/p>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u044b ldapadd \u044d\u0442\u043e\u0442 \u043d\u0430\u0431\u043e\u0440 \u0441\u0445\u0435\u043c\u044b \u0431\u044b\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043d\u0430 OpenLDAP server \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<p><code>LDAP add -H LDAP i:\/\/\/ -Y EXTERNAL -f test.ldif<\/code><\/p>\n<p><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <\/strong><code>\u2013Y EXTERNAL<\/code> \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<p><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <\/strong><code>\u2013H ldapi:\/\/\/<\/code><strong> <\/strong>\u0437\u0430\u0434\u0430\u0451\u0442 \u0430\u0434\u0440\u0435\u0441 LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043d \u043f\u0443\u0441\u0442\u043e\u0439 , \u0442.\u043a. \u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e. \u0415\u0441\u043b\u0438 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043d\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ldap:\/\/ip_\u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<p><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <\/strong><code>-f test.ldif<\/code> \u0437\u0430\u0434\u0430\u0451\u0442 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430<strong> <\/strong>ldif<strong>.<\/strong><\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u0441\u0445\u0435\u043c\u044b \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 OpenLDAP \u0441 \u043a\u0432\u043e\u0442\u043e\u0439 Nextcloud \u0438 \u043a\u0432\u043e\u0442\u043e\u0439 ProFTPD<strong>.<\/strong><\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 OpenLDAP \u00a0\u0442\u043e\u0436\u0435 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0447\u0435\u0440\u0435\u0437 LDIF \u0444\u0430\u0439\u043b. \u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 <strong>user.LDIF <\/strong>\u0444\u0430\u0439\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441 \u043a\u0432\u043e\u0442\u043e\u0439 Nextcloud \u0438 \u043a\u0432\u043e\u0442\u043e\u0439 ftp:<\/p>\n<pre><code>dn: cn=Vasya,dc=example,dc=com objectClass: top objectClass: account objectClass: posixAccount objectClass: shadowAccount objectClass: FtpNext cn: Vasya uid: Vasya ftpQuota: false,hard,10485760,0,0,0,0,0 NextQuota: 3GB uidNumber: 8345 gidNumber: 8345 homeDirectory: \/mnt\/ncdata\/Vasya userPassword: {MD5}5EIJWlXNgJp99AMqzuaYSw== loginShell: \/bin\/bash<\/code><\/pre>\n<p>\u041f\u0430\u0440\u043e\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>slappasswd \u2013h {md5} \u2013s passwd<\/code><\/p>\n<p>\u0413\u0434\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <code>\u2013h {md5}<\/code> \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0430\u0434\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f md5. \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c <code>\u2013s passwd<\/code> \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u0430\u0440\u043e\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0434\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c. \u0418\u043c\u0435\u043d\u043d\u043e \u0432 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u043f\u0430\u0440\u043e\u043b\u044c \u0432\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 LDIF \u0444\u0430\u0439\u043b.<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0431\u0430\u0437\u044b LDAP \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<p><code>LDAP add \u2013D \u201ccn=admin,dc=example,dc=com\u201d \u2013w XLD220190bac \u2013f user.ldif<\/code><\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0433\u0440\u0443\u043f\u043f\u0443 \u0432 LDAP<strong>, <\/strong>\u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0443 \u0432\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430\u0448\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 FTP<strong> <\/strong>\u0438 Nextcloud.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c LDIF \u0444\u0430\u0439\u043b <strong>NextFtp.ldif.<\/strong><\/p>\n<pre><code>dn: cn=NextFtp,ou=Group,dc=example,dc=com objectClass: top objectClass: posixGroup cn: NextFtp gidNumber: 10678<\/code><\/pre>\n<p>\u0418 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0433\u0440\u0443\u043f\u043f\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439<\/p>\n<p><code>LDAP add \u2013D \u201ccn=admin,dc=example,dc=com\u201d \u2013w XLD220190bac \u2013f NextFtp.ldif<\/code><\/p>\n<p>\u0417\u0430\u0442\u0435\u043c \u0432\u043d\u0435\u0441\u0451\u043c \u0432 \u044d\u0442\u0443 \u0433\u0440\u0443\u043f\u043f\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f <strong>Vasya, <\/strong>\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0432\u044b\u0448\u0435. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c LDIF \u0444\u0430\u0439\u043b modgrnext.ldif<\/p>\n<pre><code>dn: cn=NextFtp,ou=Group,dc=example,dc=com changetype: modify add: memberuid memberuid: Vasya<\/code><\/pre>\n<p><code>LDAP add \u2013D \u201ccn=admin,dc=example,dc=com\u201d \u2013w XLD220190bac \u2013f modgrnext.ldif<\/code><\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 Nextcloud. \u0414\u043b\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043c\u043e\u0434\u0443\u043b\u044c. \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043e\u0431\u043b\u0430\u043a\u043e Nextcloud \u043f\u043e\u0434 \u0443\u0447\u0451\u0442\u043a\u043e\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430. \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043f\u0443\u043d\u043a\u0442 <strong>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/strong> \u0432 \u0443\u0447\u0451\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1ac\/e23\/b4d\/1ace23b4d1ad286d42055cba91a3d5b8.png\" width=\"344\" height=\"416\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1ac\/e23\/b4d\/1ace23b4d1ad286d42055cba91a3d5b8.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c<\/strong> \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432 \u043d\u0430\u0434\u043f\u0438\u0441\u0438 <strong>LDAP user and group backend<\/strong><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ab8\/420\/811\/ab8420811894ff24ec907c86650da553.png\" width=\"1317\" height=\"233\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ab8\/420\/811\/ab8420811894ff24ec907c86650da553.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0440\u043e\u0441\u0438\u0442 \u043f\u0430\u0440\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430. \u0412\u0432\u043e\u0434\u0438\u043c, \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dd1\/d29\/1e3\/dd1d291e33a7173c255fa91103ac9477.png\" width=\"434\" height=\"265\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/dd1\/d29\/1e3\/dd1d291e33a7173c255fa91103ac9477.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0430\u0442\u0435\u043c \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 <\/strong>\u0432 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/597\/b93\/afc\/597b93afcd403287f6ca2eb23da9e909.png\" width=\"246\" height=\"425\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/597\/b93\/afc\/597b93afcd403287f6ca2eb23da9e909.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 <strong>\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f LDAP \/ AD:<\/strong><\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ffd\/480\/fca\/ffd480fca47508f2563f0eb241057bea.png\" width=\"322\" height=\"495\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ffd\/480\/fca\/ffd480fca47508f2563f0eb241057bea.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043f\u043e\u043b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u0432\u043e\u0434\u0438\u043c ip-\u0430\u0434\u0440\u0435\u0441 LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 <strong>LDAP :\/\/<\/strong>. \u041f\u043e\u0440\u0442 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e <strong>389<\/strong>.<\/p>\n<p>\u0412\u0432\u043e\u0434\u0438\u043c \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0431\u0430\u0437\u0443, \u0433\u0434\u0435 \u0438\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u041f\u043e\u0441\u043b\u0435 \u0432\u0432\u043e\u0434\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<\/strong>. \u0417\u0430\u0442\u0435\u043c \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0431\u0430\u0437\u0443 \u043f\u043e\u0438\u0441\u043a\u0430 DN.<\/strong><\/p>\n<p>\u0414\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0434\u043f\u0438\u0441\u044c <strong>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435<\/strong>, \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0430\u044f, \u0447\u0442\u043e \u0432\u0441\u0451 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0438 \u0441\u0432\u044f\u0437\u044c \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c LDAP \u0435\u0441\u0442\u044c.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bb9\/d7f\/712\/bb9d7f71206f91c1b5ce786cf2cbd7db.png\" width=\"1252\" height=\"580\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bb9\/d7f\/712\/bb9d7f71206f91c1b5ce786cf2cbd7db.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u043d\u0438\u0436\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u044b \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u043c\u0435\u044e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b <strong>posixAccount<\/strong> \u0438 <strong>FtpNext<\/strong>, \u0442.\u0435. \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 Nextcloud. \u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c<\/strong>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/771\/560\/d74\/771560d74306fc15af8c1ad0726376af.png\" width=\"934\" height=\"655\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/771\/560\/d74\/771560d74306fc15af8c1ad0726376af.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0434\u0435\u0441\u044c \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u0441\u0451 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c<\/strong>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7ec\/f48\/e67\/7ecf48e6712ec70319d74c1f7ef5d753.png\" width=\"977\" height=\"581\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7ec\/f48\/e67\/7ecf48e6712ec70319d74c1f7ef5d753.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c<strong> <\/strong>\u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b Nextcloud \u0431\u0440\u0430\u043b \u043a\u0432\u043e\u0442\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437 LDAP. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e<\/strong>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fc6\/5cf\/5c6\/fc65cf5c62b8a7b777a8b1cb510d3760.png\" width=\"1277\" height=\"600\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fc6\/5cf\/5c6\/fc65cf5c62b8a7b777a8b1cb510d3760.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0420\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 <strong>\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b<\/strong>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1fe\/7e4\/8a4\/1fe7e48a4357ce5685c884ab37c4f54c.png\" width=\"1251\" height=\"599\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1fe\/7e4\/8a4\/1fe7e48a4357ce5685c884ab37c4f54c.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0432\u043e\u0434\u0438\u043c \u0432 \u043f\u043e\u043b\u0435 \u043a\u0432\u043e\u0442\u044b \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0438\u0437 LDAP, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043a\u0432\u043e\u0442\u0443 \u0432 Nextcloud, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043d\u0430\u043c\u0438 \u0440\u0430\u043d\u0435\u0435. \u0412\u0432\u043e\u0434\u0438\u043c \u043a\u0432\u043e\u0442\u0443 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u044f \u043a\u0432\u043e\u0442\u0430 \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u0441\u044f. \u041f\u0440\u0430\u0432\u0438\u043b\u043e \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0435\u0440\u0451\u043c \u0438\u0437 LDAP \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 homeDirectory (\u0442.\u043a. \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0445 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 Nextcloud \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u0435\u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0435).<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c5f\/d5e\/341\/c5fd5e34159ea9d49346271689bf1269.png\" width=\"1220\" height=\"426\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c5f\/d5e\/341\/c5fd5e34159ea9d49346271689bf1269.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e<\/strong>. \u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043e\u043a\u043d\u043e \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e.<\/p>\n<p>\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c <strong>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438<\/strong>.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/253\/a19\/61c\/253a1961c5f5bdb5c485cf1f60861199.png\" width=\"211\" height=\"465\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/253\/a19\/61c\/253a1961c5f5bdb5c485cf1f60861199.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c<strong> Vasya, <\/strong>\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0440\u0430\u043d\u0435\u0435, \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0432 Nextcloud.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/644\/04c\/d92\/64404cd92ff2d7ca5671f36d856e4382.png\" width=\"1235\" height=\"310\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/644\/04c\/d92\/64404cd92ff2d7ca5671f36d856e4382.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u0434 \u044d\u0442\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u0432 \u043e\u0431\u043b\u0430\u043a\u043e Nextcloud.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/646\/3d2\/887\/6463d2887edfce4d07cfacbb5a0083f2.png\" width=\"1035\" height=\"295\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/646\/3d2\/887\/6463d2887edfce4d07cfacbb5a0083f2.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 Vasya:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/727\/f9d\/472\/727f9d4729c6ec3d1204a52a6f4024c4.png\" width=\"201\" height=\"354\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/727\/f9d\/472\/727f9d4729c6ec3d1204a52a6f4024c4.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c \u043a\u0432\u043e\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0432\u0432\u043e\u0434\u0438\u043b\u0438 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f7c\/d10\/d64\/f7cd10d649ce3db2c4d8ec7ef2092e57.png\" width=\"1277\" height=\"625\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f7c\/d10\/d64\/f7cd10d649ce3db2c4d8ec7ef2092e57.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0417\u043d\u0430\u0447\u0438\u0442, \u043d\u0430\u0448\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 ProFTPD \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/h3>\n<p>\u041d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c <strong>LDAP -client libnss-LDAP <\/strong>\u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>apt-get install libnss-LDAP<\/code><strong>\u00a0<\/strong><\/p>\n<p>\u0412\u0432\u043e\u0434\u0438\u043c ip-\u0430\u0434\u0440\u0435\u0441<strong> <\/strong>OpenLDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/24b\/876\/954\/24b876954f8a6011d2398476e13dbb77.png\" width=\"1381\" height=\"479\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/24b\/876\/954\/24b876954f8a6011d2398476e13dbb77.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418\u043c\u044f \u0431\u0430\u0437\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u0451\u043d \u043f\u043e\u0438\u0441\u043a:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/027\/08f\/41e\/02708f41edffaaf9c69bc9f760eec650.png\" width=\"1347\" height=\"361\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/027\/08f\/41e\/02708f41edffaaf9c69bc9f760eec650.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0435\u0440\u0441\u0438\u044e<strong> <\/strong>LDAP \u043d\u0430\u0434\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c<strong> 3:<\/strong><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/040\/db3\/ee2\/040db3ee28bf1ec212228e2978a2e6db.png\" width=\"1314\" height=\"386\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/040\/db3\/ee2\/040db3ee28bf1ec212228e2978a2e6db.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442 \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0432\u0432\u043e\u0434 \u0430\u0434\u043c\u0438\u043d\u0441\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445<strong> <\/strong>LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0435\u043c\u0441\u044f:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/391\/4c5\/6c9\/3914c56c9659606b80e38fc9121a167c.png\" width=\"1148\" height=\"340\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/391\/4c5\/6c9\/3914c56c9659606b80e38fc9121a167c.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430 \u0432\u0432\u043e\u0434 \u043b\u043e\u0433\u0438\u043d\u0430 \u0434\u043b\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u0441\u044f (\u044d\u0442\u043e \u043d\u0435 \u0430\u0434\u043c\u0438\u043d\u0441\u043a\u0430\u044f \u0443\u0447\u0451\u0442\u043a\u0430<strong> <\/strong>OpenLDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430):<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/518\/560\/a30\/518560a30f307aa2cdeb2fda06d50e1f.png\" width=\"914\" height=\"429\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/518\/560\/a30\/518560a30f307aa2cdeb2fda06d50e1f.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0432\u043e\u0434\u0438\u043c \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430<strong> <\/strong>OpenLDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>Enter<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c7c\/234\/a9b\/c7c234a9b5bd988d3e948e18d5da5b6d.png\" width=\"620\" height=\"329\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/c7c\/234\/a9b\/c7c234a9b5bd988d3e948e18d5da5b6d.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0432\u0430\u0441 \u043f\u043e\u043f\u0440\u043e\u0441\u044f\u0442 \u0432\u0432\u0435\u0441\u0442\u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430.<\/p>\n<p>LDAP \u043a\u043b\u0438\u0435\u043d\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d. \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0432 Debian \u0447\u0435\u0440\u0435\u0437 LDAP \u043a\u043b\u0438\u0435\u043d\u0442\u0430. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0434\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432 \u0444\u0430\u0439\u043b\u0435 <strong>\/etc\/nsswitch.conf. <\/strong>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043a:<\/p>\n<pre><code>passwd:     files systemd LDAP  group:     files systemd LDAP  shadow:     files LDAP  gshadow:    files LDAP   hosts:     files dns networks:    files  protocols:   db files services:    db files ethers:     db files rpc:      db files  netgroup:    nis<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>getent passwd<\/code> \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043b\u0438 \u0443 \u043d\u0430\u0441 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0432 \u041e\u0421 Debian \u0447\u0435\u0440\u0435\u0437 LDAP \u0441\u0435\u0440\u0432\u0435\u0440. \u0412\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c Vasya \u0432\u043e\u0437\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u043a Openldap \u0441\u0435\u0440\u0432\u0435\u0440\u0443.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/36a\/a62\/df8\/36aa62df8723a598f9407236c2c28a5b.png\" width=\"413\" height=\"20\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/36a\/a62\/df8\/36aa62df8723a598f9407236c2c28a5b.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 LDAP \u043d\u0430 profpd \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044c LDAP \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>apt-get install ProFTPD-mod-LDAP<\/code><strong>\u00a0<\/strong>.<\/p>\n<p>\u0412 \u0444\u0430\u0439\u043b\u0435 <strong>\/etc\/ProFTPD\/modules.conf<\/strong> \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0430\u0441\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0432\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 LDAP \u043c\u043e\u0434\u0443\u043b\u0435\u0439.<\/p>\n<pre><code>LoadModule mod_LDAP .c LoadModule mod_quotatab_LDAP .c<\/code><\/pre>\n<ul>\n<li>\n<p>\u041c\u043e\u0434\u0443\u043b\u044c <strong>mod_LDAP .c<\/strong> \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 ProFTPD \u0447\u0435\u0440\u0435\u0437 LDAP. <\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0434\u0443\u043b\u044c <strong>mod_quotatab_LDAP .c<\/strong> \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u043a\u0432\u043e\u0442 ProFTPD \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 LDAP.<\/p>\n<\/li>\n<\/ul>\n<p>\u0417\u0430\u0442\u0435\u043c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 <strong>\/etc\/ProFTPD\/ProFTPD.conf<\/strong> \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438:<\/p>\n<pre><code>&lt;IfModule mod_quotatab.c> QuotaEngine on QuotaLock \/tmp\/quota QuotaDirectoryTally on QuotaDisplayUnits Mb QuotaLog \"\/var\/log\/ProFTPD\/quota.log\" QuotaShowQuotas on QuotaTallyTable file:\/var\/log\/ftpquota.tally &lt;\/IfModule><\/code><\/pre>\n<ul>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <strong>QuotaEngine on<\/strong> \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043a\u0432\u043e\u0442.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <strong>QuotaLock<\/strong> \u0437\u0430\u0434\u0430\u0451\u0442 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <strong>QuotaDisplayUnits Mb<\/strong> \u0437\u0430\u0434\u0430\u0451\u0442 \u043f\u043e\u043a\u0430\u0437 \u043a\u0432\u043e\u0442 \u0432 <strong>Mb<\/strong>.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <strong>QuotaShowQuotas on<\/strong> \u0437\u0430\u0434\u0430\u0451\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u0435 \u043a\u0432\u043e\u0442\u044b \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 <strong>SITE QUOTA<\/strong>.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <strong>QuotaLog &#171;\/var\/log\/ProFTPD\/quota.log&#187; <\/strong>\u0437\u0430\u0434\u0430\u0451\u0442 \u0444\u0430\u0439\u043b \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0432\u043e\u0442.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <strong>QuotaDirectoryTally <\/strong>\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u043c\u043e\u0434\u0443\u043b\u044c <strong>mod_quotatab<\/strong> \u0434\u043b\u044f \u0443\u0447\u0451\u0442\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\u043c\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430) \u043f\u0440\u0438 \u043f\u043e\u0434\u0441\u0447\u0451\u0442\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <strong>QuotaTallyTable file:\/var\/log\/ftpquota.tally<\/strong> \u0437\u0430\u0434\u0430\u0451\u0442 \u0444\u0430\u0439\u043b \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e\u0434\u0441\u0447\u0451\u0442\u0430 \u0434\u043b\u044f \u043a\u0432\u043e\u0442\u044b.<\/p>\n<\/li>\n<\/ul>\n<p>\u0438 \u0435\u0449\u0451 \u0432\u043e\u0442 \u044d\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438:<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/strong><\/p>\n<pre><code>&lt;IfModule mod_LDAP .c> LDAP Server 192.168.2.32 LDAP BindDN \"cn=admin,dc=example,dc=com\" \"XLD220190bac\" LDAP Users \"dc=example,dc=com\" \"(&amp;(uid=%v)(objectclass=posixAccount)(objectclass=FtpNext))\" LDAP DefaultGID 106 LDAP DefaultUID 65534 LDAP ForceDefaultGID off LDAP ForceDefaultUID off LDAP DefaultQuota false,hard,10485760,0,0,0,0,0 QuotaLimitTable LDAP : &lt;\/IfModule>             <\/code><\/pre>\n<ul>\n<li>\n<p><strong>LDAP Server<\/strong> \u0437\u0430\u0434\u0430\u0451\u0442 ip-\u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 LDAP.<\/p>\n<\/li>\n<li>\n<p><strong>LDAP Users<\/strong> \u0437\u0430\u0434\u0430\u0451\u0442 \u0438\u043c\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u0433\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>LDAP BindDN<\/strong> \u0437\u0430\u0434\u0430\u0451\u0442 \u0443\u0447\u0451\u0442\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 LDAP.<\/p>\n<\/li>\n<li>\n<p><strong>LDAP DefaultGID<\/strong> \u0437\u0430\u0434\u0430\u0451\u0442 gid \u043d\u043e\u043c\u0435\u0440 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<\/li>\n<li>\n<p><strong>LDAP DefaultUID<\/strong> \u0437\u0430\u0434\u0430\u0451\u0442 uid \u043d\u043e\u043c\u0435\u0440 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<\/li>\n<li>\n<p><strong>LDAP DefaultUID<\/strong> \u0437\u0430\u0434\u0430\u0451\u0442 \u043a\u0432\u043e\u0442\u0443 ProFTPD \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<\/li>\n<li>\n<p><strong>QuotaLimitTable LDAP <\/strong>\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043a\u0432\u043e\u0442\u0443 \u043d\u0443\u0436\u043d\u043e \u0431\u0440\u0430\u0442\u044c \u0438\u0437 LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0437\u0434\u0435\u0441\u044c \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043d\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <code>DefaultRoot           ~ <\/code>\u041e\u043d\u0430 \u043d\u0443\u0436\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043d\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u043b\u0438\u0441\u044c \u0432\u044b\u0448\u0435 \u0441\u0432\u043e\u0438\u0445 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0445 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<p><code>ftpquota --create-table --type=tally --units=Mb --table-path=\/var\/log\/ftpquota.tally<\/code><\/p>\n<p>\u0417\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f FTP-\u0441\u0435\u0440\u0432\u0435\u0440 <code>\/etc\/init.d\/ProFTPD restart<\/code>.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e<strong> ncdata <\/strong>\u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438<strong> \/mnt<\/strong>.<\/p>\n<p>\u041d\u0430\u0437\u043d\u0430\u0447\u0438\u043c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e<strong> ncdata <\/strong>\u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<p><code>chown \u2013R root:NextFTP \/mnt\/ncdata<\/code><\/p>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0434\u043b\u044f \u0441\u043c\u0435\u043d\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0430 ProFTPD \u0441\u0435\u0440\u0432\u0435\u0440\u0435:<\/p>\n<p><code>su - Vasya<\/code><\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c FTP \u043a\u0432\u043e\u0442\u044b, \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u043c\u0438 \u0440\u0430\u043d\u0435\u0435.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c\u0441\u044f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 ProFTPD \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c \u043b\u0438 \u043a\u0432\u043e\u0442\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a20\/379\/24f\/a2037924f0c5b34f7d1c2e95fed63995.png\" width=\"537\" height=\"395\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a20\/379\/24f\/a2037924f0c5b34f7d1c2e95fed63995.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0430\u0448\u043b\u0438 \u043d\u0430 FTP \u0438 \u043a\u0432\u043e\u0442\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c. \u0422\u0430\u043a\u0438\u043c \u043c\u0435\u0442\u043e\u0434\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c OpenLDAP \u0441\u0435\u0440\u0432\u0435\u0440 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0446\u0435\u043d\u0442\u0440\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u043b\u044f Nextcloud \u0438 ProFTPD. <\/p>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435!<\/p>\n<hr\/>\n<p><strong>\u0427\u0442\u043e \u0435\u0449\u0451 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u0432 \u0431\u043b\u043e\u0433\u0435\u00a0Cloud4Y<\/strong><\/p>\n<p>\u2192\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/654937\/\">\u0412\u0438\u0440\u0443\u0441\u0443 \u041c\u0438\u043a\u0435\u043b\u0430\u043d\u0434\u0436\u0435\u043b\u043e \u2014 30 \u043b\u0435\u0442<\/a><\/p>\n<p>\u2192\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/653949\/\">\u0421\u0434\u0435\u043b\u0430\u0439\u0442\u0435 Linux \u043f\u043e\u0445\u043e\u0436\u0438\u043c \u043d\u0430 Windows 95<\/a><\/p>\n<p>\u2192\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/652895\/\">\u041a\u0430\u043a \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u044c \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0434\u043e\u043b\u0433\u0443 \u043e\u0434\u043e\u043b\u0435\u0442\u044c \u0432\u0430\u0441<\/a><\/p>\n<p>\u2192\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/595493\/\">WD-40: \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0451<\/a><\/p>\n<p>\u2192\u00a0<a href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/650357\/\">30 \u043b\u0443\u0447\u0448\u0438\u0445 Python-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 GitHub \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e 2022\u00a0\u0433\u043e\u0434\u0430<\/a><\/p>\n<p>\u041f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0439\u0442\u0435\u0441\u044c \u043d\u0430 \u043d\u0430\u0448\u00a0<a href=\"https:\/\/t.me\/cloud4y\">Telegram<\/a>-\u043a\u0430\u043d\u0430\u043b, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e. \u041f\u0438\u0448\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u0434\u0435\u043b\u0443.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/656651\/\"> https:\/\/habr.com\/ru\/company\/cloud4y\/blog\/656651\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041d\u0430 \u0441\u0432\u044f\u0437\u0438 \u0425\u043e\u043b\u043e\u0434\u0430\u0435\u0432 \u0410\u043b\u0435\u043a\u0441\u0435\u0439, \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 Cloud4Y. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f OpenLDAP \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0446\u0435\u043d\u0442\u0440\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u043b\u044f Nextcloud \u0438 ProFTPD.<\/p>\n<p>\u0412 \u0445\u043e\u0434\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0441\u043e\u0442\u0435\u043d \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043d\u0430 Nextcloud \u0438 ProFTPD. \u041d\u0430 ProFTPD \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0441 FTP \u043a\u0432\u043e\u0442\u043e\u0439, \u0430 \u043d\u0430 Nextcloud \u2014 \u0441 Nextcloud \u043a\u0432\u043e\u0442\u043e\u0439. \u0412\u0441\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u041e\u0421 Linux Debian 10. \u0417\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u043b\u043e \u043a\u0430\u043a-\u0442\u043e \u043d\u0435 \u0432\u0435\u0441\u0435\u043b\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043e\u0431\u0440\u0430\u0442\u0438\u043b \u0441\u0432\u043e\u0439 \u0432\u0437\u043e\u0440 \u043d\u0430 \u0446\u0435\u043d\u0442\u0440 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438\u0438 LDAP, \u0436\u0435\u043b\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0446\u0435\u043d\u0442\u0440\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u043b\u044f Nextcloud \u0438 ProFTPD. \u0414\u0435\u043b\u044e\u0441\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0435\u0439, \u043a\u0430\u043a \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c.<\/p>\n<p>\u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u044f \u0432\u044b\u0431\u0440\u0430\u043b \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e OpenLDAP server, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u043d\u0430 Debian 10. \u041e\u0431\u043d\u043e\u0432\u0438\u043b \u041e\u0421 \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b \u0435\u0451:<\/p>\n<pre><code>sudo apt-get -y update  sudo apt-get -y upgrade  sudo reboot<\/code><\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b OpenLDAP server \u0438 LDAP \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439<code>apt-get -y install slapd LDAP -utils<\/code><\/p>\n<p>\u0412 \u0445\u043e\u0434\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0438\u043c\u044f \u0434\u043e\u043c\u0435\u043d\u0430, \u0443\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u0431\u0430\u0437\u044b \u0438 \u043a\u0430\u043a\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e LDAP \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0441\u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u0432 \u0445\u043e\u0434\u0443 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0435 \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u00a0OpenLDAP server: <code>dpkg-reconfigure slapd <\/code>\u0438 \u0437\u0430\u0434\u0430\u0439\u0442\u0435 \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0437\u0430\u043d\u043e\u0432\u043e.<\/p>\n<p>\u041f\u0430\u0440\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>No<\/strong>, \u0442.\u043a. \u043c\u044b \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0430 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u043c \u0435\u0433\u043e \u0441\u0430\u043c\u0438.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0430\u0434\u0430\u0451\u043c \u0438\u043c\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0434\u043e\u043c\u0435\u043d\u0430:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0432\u043e\u0434\u0438\u043c \u0438\u043c\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0432\u0432\u043e\u0434\u0438\u043c \u043f\u0430\u0440\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0442\u0438\u043f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 MDB:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0434\u0435\u0441\u044c \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>No<\/strong>, \u0442.\u043a. \u043c\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u0431\u0430\u0437\u0430 \u0443\u0434\u0430\u043b\u044f\u043b\u0430\u0441\u044c \u043f\u0440\u0438 \u043e\u0447\u0438\u0441\u0442\u043a\u0435 slapd:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>Yes<\/strong>, \u0442.\u043a. \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0441\u0442\u0430\u0440\u0443\u044e \u0431\u0430\u0437\u0443 \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <code>slapcat<\/code> \u0438 \u0443\u0431\u0435\u0436\u0434\u0430\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u0430:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0427\u0442\u043e\u0431\u044b \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0441 \u043a\u0432\u043e\u0442\u0430\u043c\u0438 FTP \u0438 \u043a\u0432\u043e\u0442\u0430\u043c\u0438 Nextcloud, \u043d\u0443\u0436\u043d\u043e \u0432\u043d\u0435\u0441\u0442\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0432 \u0441\u0445\u0435\u043c\u0443 LDAP OpenLDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0422\u0430\u043a\u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u043d\u0435\u0441\u0442\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u044d\u0442\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b.<\/p>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u0443 LDAP \u0432 OpenLDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043c\u043e\u0436\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u041e\u0421 (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f SAML \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f).<\/p>\n<p>\u0412\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0441\u0445\u0435\u043c\u0443 LDAP \u0431\u0443\u0434\u0435\u043c \u0432\u043d\u043e\u0441\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 LDIF \u0444\u0430\u0439\u043b. \u041e\u043d \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0442\u0435\u043a\u0441\u0442:<\/p>\n<pre><code>dn: cn=test,cn=schema,cn=config objectClass: olcSchemaConfig cn: test olcAttributeTypes: ( 1.3.6.1.1.1.1.28 NAME 'ftpQuota'  DESC 'Quota FTP'  EQUALITY caseIgnoreIA5Match  SUBSTR caseIgnoreIA5SubstringsMatch  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26  SINGLE-VALUE ) olcAttributeTypes: ( 1.3.6.1.1.1.1.29 NAME 'NextQuota'  DESC 'Quota Nextcloud '  EQUALITY caseIgnoreIA5Match  SUBSTR caseIgnoreIA5SubstringsMatch  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26  SINGLE-VALUE ) olcObjectClasses:( 1.3.6.1.1.1.2.48 NAME 'FtpNext'  DESC 'Abstraction of an account with POSIX attributes'  SUP top AUXILIARY  MUST ( ftpQuota $ NextQuota ) ) <\/code><\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043d\u0430\u0437\u043e\u0432\u0451\u043c <code>test.ldif<\/code><\/p>\n<p>\u0423 \u0444\u0430\u0439\u043b\u043e\u0432 LDIF \u0435\u0441\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u043f\u0440\u0438 \u0438\u0445 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0437\u043d\u0430\u0442\u044c \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043f\u043e LDAP.<\/p>\n<p>\u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0442\u0438\u043f\u0430 <strong>String,<\/strong> \u043d\u0430 \u0447\u0442\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u0447\u043a\u0430 <strong>EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch<\/strong> \u0432 LDIF<strong> <\/strong>\u0444\u0430\u0439\u043b\u0435.<\/p>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u044b ldapadd \u044d\u0442\u043e\u0442 \u043d\u0430\u0431\u043e\u0440 \u0441\u0445\u0435\u043c\u044b \u0431\u044b\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043d\u0430 OpenLDAP server \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<p><code>LDAP add -H LDAP i:\/\/\/ -Y EXTERNAL -f test.ldif<\/code><\/p>\n<p><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <\/strong><code>\u2013Y EXTERNAL<\/code> \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<p><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <\/strong><code>\u2013H ldapi:\/\/\/<\/code><strong> <\/strong>\u0437\u0430\u0434\u0430\u0451\u0442 \u0430\u0434\u0440\u0435\u0441 LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043d \u043f\u0443\u0441\u0442\u043e\u0439 , \u0442.\u043a. \u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e. \u0415\u0441\u043b\u0438 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043d\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ldap:\/\/ip_\u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<p><strong>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <\/strong><code>-f test.ldif<\/code> \u0437\u0430\u0434\u0430\u0451\u0442 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430<strong> <\/strong>ldif<strong>.<\/strong><\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0431\u043e\u0440\u0430 \u0441\u0445\u0435\u043c\u044b \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 OpenLDAP \u0441 \u043a\u0432\u043e\u0442\u043e\u0439 Nextcloud \u0438 \u043a\u0432\u043e\u0442\u043e\u0439 ProFTPD<strong>.<\/strong><\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 OpenLDAP \u00a0\u0442\u043e\u0436\u0435 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0447\u0435\u0440\u0435\u0437 LDIF \u0444\u0430\u0439\u043b. \u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 <strong>user.LDIF <\/strong>\u0444\u0430\u0439\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0441 \u043a\u0432\u043e\u0442\u043e\u0439 Nextcloud \u0438 \u043a\u0432\u043e\u0442\u043e\u0439 ftp:<\/p>\n<pre><code>dn: cn=Vasya,dc=example,dc=com objectClass: top objectClass: account objectClass: posixAccount objectClass: shadowAccount objectClass: FtpNext cn: Vasya uid: Vasya ftpQuota: false,hard,10485760,0,0,0,0,0 NextQuota: 3GB uidNumber: 8345 gidNumber: 8345 homeDirectory: \/mnt\/ncdata\/Vasya userPassword: {MD5}5EIJWlXNgJp99AMqzuaYSw== loginShell: \/bin\/bash<\/code><\/pre>\n<p>\u041f\u0430\u0440\u043e\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>slappasswd \u2013h {md5} \u2013s passwd<\/code><\/p>\n<p>\u0413\u0434\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <code>\u2013h {md5}<\/code> \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0430\u0434\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f md5. \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c <code>\u2013s passwd<\/code> \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u0430\u0440\u043e\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0434\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c. \u0418\u043c\u0435\u043d\u043d\u043e \u0432 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u043f\u0430\u0440\u043e\u043b\u044c \u0432\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 LDIF \u0444\u0430\u0439\u043b.<\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0431\u0430\u0437\u044b LDAP \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<p><code>LDAP add \u2013D \u201ccn=admin,dc=example,dc=com\u201d \u2013w XLD220190bac \u2013f user.ldif<\/code><\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0433\u0440\u0443\u043f\u043f\u0443 \u0432 LDAP<strong>, <\/strong>\u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0443 \u0432\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430\u0448\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 FTP<strong> <\/strong>\u0438 Nextcloud.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c LDIF \u0444\u0430\u0439\u043b <strong>NextFtp.ldif.<\/strong><\/p>\n<pre><code>dn: cn=NextFtp,ou=Group,dc=example,dc=com objectClass: top objectClass: posixGroup cn: NextFtp gidNumber: 10678<\/code><\/pre>\n<p>\u0418 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0433\u0440\u0443\u043f\u043f\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439<\/p>\n<p><code>LDAP add \u2013D \u201ccn=admin,dc=example,dc=com\u201d \u2013w XLD220190bac \u2013f NextFtp.ldif<\/code><\/p>\n<p>\u0417\u0430\u0442\u0435\u043c \u0432\u043d\u0435\u0441\u0451\u043c \u0432 \u044d\u0442\u0443 \u0433\u0440\u0443\u043f\u043f\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f <strong>Vasya, <\/strong>\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0432\u044b\u0448\u0435. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c LDIF \u0444\u0430\u0439\u043b modgrnext.ldif<\/p>\n<pre><code>dn: cn=NextFtp,ou=Group,dc=example,dc=com changetype: modify add: memberuid memberuid: Vasya<\/code><\/pre>\n<p><code>LDAP add \u2013D \u201ccn=admin,dc=example,dc=com\u201d \u2013w XLD220190bac \u2013f modgrnext.ldif<\/code><\/p>\n<p>\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 Nextcloud. \u0414\u043b\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043c\u043e\u0434\u0443\u043b\u044c. \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043e\u0431\u043b\u0430\u043a\u043e Nextcloud \u043f\u043e\u0434 \u0443\u0447\u0451\u0442\u043a\u043e\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430. \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043f\u0443\u043d\u043a\u0442 <strong>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/strong> \u0432 \u0443\u0447\u0451\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430.<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u044c<\/strong> \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432 \u043d\u0430\u0434\u043f\u0438\u0441\u0438 <strong>LDAP user and group backend<\/strong><\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0440\u043e\u0441\u0438\u0442 \u043f\u0430\u0440\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430. \u0412\u0432\u043e\u0434\u0438\u043c, \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0430\u0442\u0435\u043c \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 <\/strong>\u0432 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 <strong>\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f LDAP \/ AD:<\/strong><\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0412 \u043f\u043e\u043b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u0432\u043e\u0434\u0438\u043c ip-\u0430\u0434\u0440\u0435\u0441 LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 <strong>LDAP :\/\/<\/strong>. \u041f\u043e\u0440\u0442 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e <strong>389<\/strong>.<\/p>\n<p>\u0412\u0432\u043e\u0434\u0438\u043c \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0431\u0430\u0437\u0443, \u0433\u0434\u0435 \u0438\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u041f\u043e\u0441\u043b\u0435 \u0432\u0432\u043e\u0434\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<\/strong>. \u0417\u0430\u0442\u0435\u043c \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0431\u0430\u0437\u0443 \u043f\u043e\u0438\u0441\u043a\u0430 DN.<\/strong><\/p>\n<p>\u0414\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0434\u043f\u0438\u0441\u044c <strong>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435<\/strong>, \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0430\u044f, \u0447\u0442\u043e \u0432\u0441\u0451 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0438 \u0441\u0432\u044f\u0437\u044c \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c LDAP \u0435\u0441\u0442\u044c.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u043d\u0438\u0436\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u044b \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u043c\u0435\u044e\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b <strong>posixAccount<\/strong> \u0438 <strong>FtpNext<\/strong>, \u0442.\u0435. \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 Nextcloud. \u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c<\/strong>.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0434\u0435\u0441\u044c \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u0441\u0451 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c<\/strong>.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c<strong> <\/strong>\u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b Nextcloud \u0431\u0440\u0430\u043b \u043a\u0432\u043e\u0442\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437 LDAP. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e<\/strong>.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0420\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 <strong>\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b<\/strong>.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0432\u043e\u0434\u0438\u043c \u0432 \u043f\u043e\u043b\u0435 \u043a\u0432\u043e\u0442\u044b \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0438\u0437 LDAP, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043a\u0432\u043e\u0442\u0443 \u0432 Nextcloud, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043d\u0430\u043c\u0438 \u0440\u0430\u043d\u0435\u0435. \u0412\u0432\u043e\u0434\u0438\u043c \u043a\u0432\u043e\u0442\u0443 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u044f \u043a\u0432\u043e\u0442\u0430 \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u0441\u044f. \u041f\u0440\u0430\u0432\u0438\u043b\u043e \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0435\u0440\u0451\u043c \u0438\u0437 LDAP \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 homeDirectory (\u0442.\u043a. \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0445 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 Nextcloud \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u0435\u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0435).<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e<\/strong>. \u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043e\u043a\u043d\u043e \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e.<\/p>\n<p>\u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c <strong>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438<\/strong>.<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c<strong> Vasya, <\/strong>\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0440\u0430\u043d\u0435\u0435, \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0432 Nextcloud.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u0434 \u044d\u0442\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u0432 \u043e\u0431\u043b\u0430\u043a\u043e Nextcloud.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 Vasya:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c \u043a\u0432\u043e\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0432\u0432\u043e\u0434\u0438\u043b\u0438 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0417\u043d\u0430\u0447\u0438\u0442, \u043d\u0430\u0448\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 ProFTPD \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/h3>\n<p>\u041d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c <strong>LDAP -client libnss-LDAP <\/strong>\u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>apt-get install libnss-LDAP<\/code><strong>\u00a0<\/strong><\/p>\n<p>\u0412\u0432\u043e\u0434\u0438\u043c ip-\u0430\u0434\u0440\u0435\u0441<strong> <\/strong>OpenLDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0418\u043c\u044f \u0431\u0430\u0437\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u0451\u043d \u043f\u043e\u0438\u0441\u043a:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0435\u0440\u0441\u0438\u044e<strong> <\/strong>LDAP \u043d\u0430\u0434\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c<strong> 3:<\/strong><\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442 \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0432\u0432\u043e\u0434 \u0430\u0434\u043c\u0438\u043d\u0441\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445<strong> <\/strong>LDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0435\u043c\u0441\u044f:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430 \u0432\u0432\u043e\u0434 \u043b\u043e\u0433\u0438\u043d\u0430 \u0434\u043b\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u0441\u044f (\u044d\u0442\u043e \u043d\u0435 \u0430\u0434\u043c\u0438\u043d\u0441\u043a\u0430\u044f \u0443\u0447\u0451\u0442\u043a\u0430<strong> <\/strong>OpenLDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430):<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0432\u043e\u0434\u0438\u043c \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430<strong> <\/strong>OpenLDAP \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <strong>Enter<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u0435\u0435 \u0432\u0430\u0441 \u043f\u043e\u043f\u0440\u043e\u0441\u044f\u0442 \u0432\u0432\u0435\u0441\u0442\u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430.<\/p>\n<p>LDAP \u043a\u043b\u0438\u0435\u043d\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d. \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0432 Debian \u0447\u0435\u0440\u0435\u0437 LDAP \u043a\u043b\u0438\u0435\u043d\u0442\u0430. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0434\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432 \u0444\u0430\u0439\u043b\u0435 <strong>\/etc\/nsswitch.conf. <\/strong>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043a:<\/p>\n<pre><code>passwd:     files systemd LDAP  group:     files systemd LDAP  shadow:     files LDAP  gshadow:    files LDAP   hosts:     files dns networks:    files  protocols:   db files services:    db files ethers:     db files rpc:      db files  netgroup:    nis<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>getent passwd<\/code> \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043b\u0438 \u0443 \u043d\u0430\u0441 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0432 \u041e\u0421 Debian \u0447\u0435\u0440\u0435\u0437 LDAP \u0441\u0435\u0440\u0432\u0435\u0440. \u0412\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c Vasya \u0432\u043e\u0437\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u043a Openldap \u0441\u0435\u0440\u0432\u0435\u0440\u0443.<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 LDAP \u043d\u0430 profpd \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044c LDAP \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <code>apt-get install ProFTPD-mod-LDAP<\/code><strong>\u00a0<\/strong>.<\/p>\n<p>\u0412 \u0444\u0430\u0439\u043b\u0435 <strong>\/etc\/ProFTPD\/modules.conf<\/strong> \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0430\u0441\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0432\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 LDAP \u043c\u043e\u0434\u0443\u043b\u0435\u0439.<\/p>\n<pre><code>LoadModule mod_LDAP .c LoadModule mod_quotatab_LDAP .c<\/code><\/pre>\n<ul>\n<li>\n<p>\u041c\u043e\u0434\u0443\u043b\u044c <strong>mod_LDAP .c<\/strong> \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 ProFTPD \u0447\u0435\u0440\u0435\u0437 LDAP. <\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0434\u0443\u043b\u044c <strong>mod_quotatab_LDAP .c<\/strong> \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u043a\u0432\u043e\u0442 ProFTPD \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 LDAP.<\/p>\n<\/li>\n<\/ul>\n<p>\u0417\u0430\u0442\u0435\u043c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 <strong>\/etc\/ProFTPD\/ProFTPD.conf<\/strong> \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438:<\/p>\n<pre><code>&lt;IfModule mod_quotatab.c> QuotaEngine on QuotaLock \/tmp\/quota QuotaDirectoryTally on QuotaDisplayUnits Mb QuotaLog \"\/var\/log\/ProFTPD\/quota.log\" QuotaShowQuotas on QuotaTallyTable file:\/var\/log\/ftpquota.tally &lt;\/IfModule><\/code><\/pre>\n<ul>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <strong>QuotaEngine on<\/strong> \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043a\u0432\u043e\u0442.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <strong>QuotaLock<\/strong> \u0437\u0430\u0434\u0430\u0451\u0442 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <strong>QuotaDisplayUnits Mb<\/strong> \u0437\u0430\u0434\u0430\u0451\u0442 \u043f\u043e\u043a\u0430\u0437 \u043a\u0432\u043e\u0442 \u0432 <strong>Mb<\/strong>.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <strong>QuotaShowQuotas on<\/strong> \u0437\u0430\u0434\u0430\u0451\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u0435 \u043a\u0432\u043e\u0442\u044b \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 <strong>SITE QUOTA<\/strong>.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <strong>QuotaLog &#171;\/var\/log\/ProFTPD\/quota.log&#187; <\/strong>\u0437\u0430\u0434\u0430\u0451\u0442 \u0444\u0430\u0439\u043b \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0432\u043e\u0442.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <strong>QuotaDirectoryTally <\/strong>\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u043c\u043e\u0434\u0443\u043b\u044c <strong>mod_quotatab<\/strong> \u0434\u043b\u044f \u0443\u0447\u0451\u0442\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0441 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430\u043c\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430) \u043f\u0440\u0438 \u043f\u043e\u0434\u0441\u0447\u0451\u0442\u0435.<\/p>\n<\/li>\n<li>\n<p>\u0414\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430 <strong>QuotaTallyTable file:\/var\/log\/ftpquota.tally<\/strong> \u0437\u0430\u0434\u0430\u0451\u0442 \u0444\u0430\u0439\u043b \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e\u0434\u0441\u0447\u0451\u0442\u0430 \u0434\u043b\u044f \u043a\u0432\u043e\u0442\u044b.<\/p>\n<\/li>\n<\/ul>\n<p>\u0438 \u0435\u0449\u0451 \u0432\u043e\u0442 \u044d\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438:<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/strong><\/p>\n<pre><code>&lt;IfModule mod_LDAP .c> LDAP Server 192.168.2.32 LDAP BindDN \"cn=admin,dc=example,dc=com\" \"XLD220190bac\" LDAP Users \"dc=example,dc=com\" \"(&amp;(uid=%v)(objectc<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-330893","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/330893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=330893"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/330893\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=330893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=330893"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=330893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}