Directory services for linux

Where do I put my systemd service? [duplicate]

I was originally putting my service in /lib/systemd/system, and it seems a bunch of other services are in that directory as well. However, it’s supposed to be in /etc/systemd/system?? This source never talks about the third option: Where do I put my systemd unit file on Arch Linux? Also, this tutorial seems to put it in that directory. http://www.raspberrypi-spy.co.uk/2015/10/how-to-autorun-a-python-script-on-boot-using-systemd/ Please help clarify for me. Enabling my unit is leading to an error message: «Failed to enable unit: Invalid argument» I hypothesize because the directory is wrong. (I am using Arch Linux)

1 Answer 1

I use Systemd services to launch «kiosk»-style Pi (running CentOS) systems. Systemd pulls from a few configuration directories, but generally you should put Systemd services in /etc/systemd/system/

There are, of course, some requirements of what must be contained in the service file, but as long as it’s in that directory, a sudo systemctl enable foo.service enables that service. If you put your services in that directory and are still encountering errors, check your service file. It should contain at least:

[Unit] Description=Sample Script Startup [Service] Type=idle ExecStart=/valid/path/to/an/executable/file [Install] WantedBy=multi-user.target 

The Type and WantedBy attributes may vary, depending on what you’re trying to achieve, so read the docs!

Источник

Разворачиваем LDAP в ОС Linux

Глобальный каталог LDAP стал неотъемлемой частью современной ИТ инфраструктуры любой крупной организации. Сама технология каталога LDAP у большинства плотно ассоциируется с Active Directory от Майкрософт. Однако сейчас все больше организаций пытаются уйти от решений данного вендора и перейти на софт с открытым исходным кодом.

В этой статье мы поговорим о том, из каких компонентов состоит LDAP и выполним некоторые основные настройки под Ubuntu. Но сначала немного теории о том, что эта технология из себя представляет.

Итак, начнем с рассмотрения того, что из себя представляет LDAP. LDAP (Lightweight Directory Access Protocol, «легковесный протокол доступа к каталогам») — протокол прикладного уровня для доступа к службе каталогов X.500. LDAP — протокол, использующий TCP/IP и позволяющий производить операции аутентификации (bind), поиска (search) и сравнения (compare), а также операции добавления, изменения или удаления записей. При использовании настроек по умолчанию, LDAP-сервер принимает входящие соединения на порт 389 по протоколам TCP или UDP. Если же мы используем SSL, тогда для соединений назначается порт 636.

Записи в LDAP

Начнем рассмотрение основ протокола LDAP с понятия запись. В каталоге LDAP каждая запись может состоять из одного или нескольких атрибутов и обладать уникальным именем (DN, Distinguished Name). Это имя может выглядеть по-разному, например: «cn=Петр Иванов,ou=Менеджеры,dc=domain,dc=com». DN состоит из одного или нескольких относительных уникальных имён, разделённых запятой. Относительное уникальное имя имеет вид ИмяАтрибута=значение. LDAP имеет древовидную структуру. При этом необходимо отметить, что на одном уровне каталога не может существовать двух записей с одинаковыми относительными уникальными именами.

Читайте также:  Replace text in pdf linux

В LDAP должны быть определены описания классов записей (object class), объединенные в схемы (schema). Соответственно, запись в каталоге LDAP может состоять только из тех атрибутов, для которых мы определили классы и схемы. В схеме определено, какие атрибуты являются для данного класса обязательными, а какие — необязательными. Также схема определяет тип и правила сравнения атрибутов, при этом, каждый атрибут записи может хранить несколько значений.

Установка под Linux

В качестве примера развертывания LDAP под Linux мы будем использовать ОС Ubuntu. В роли автономного демона LDAP мы будем разворачивать приложение slapd. Далее, мы развернем минимальную рабочую конфигурацию с записью верхнего уровня и уникальным именем администратора. В частности, мы создадим экземпляр базы данных, который можно использовать для хранения своих данных. Однако суффикс (или базовый DN) этого экземпляра будет определен из доменного имени хоста. Надо понимать, что сменить базовый DN после развертывания LDAP невозможно без полного пересоздания всего дерева LDAP. Так, что если вас не устраивает приведенное в примере DN, то необходимо определиться с собственным DN до начала процесса развертывания.

Разворачиваем LDAP

Итак, приступаем к установке сервера и основных утилит командной строки. Для этого выполним следующую команду:

sudo apt install slapd ldap-utils

Если вы хотите изменить суффикс вашего информационного дерева каталогов (DIT), сейчас самое подходящее время, поскольку его изменение приводит к удалению существующего (если он был). Чтобы изменить суффикс, выполните следующую команду:

sudo dpkg-reconfigure slapd

На протяжении всего процесса установки мы будем выполнять множество команд с помощью утилит LDAP. Чтобы сэкономить на вводе текста, мы можем настроить библиотеки OpenLDAP с определенными значениями по умолчанию в файле /etc/ldap/ldap.conf (измените эти записи в соответствии с именем вашего сервера и суффиксом каталога):

Настройка информационного дерева каталогов

Используемый нами пакет slapd разработан таким образом, чтобы его работу можно было настроить в рамках самого сервиса, выделив для этой цели отдельное дерево каталогов. Благодаря этому мы можем динамически настраивать slapd без перезапуска службы или редактирования конфигурационных файлов. Сама конфигурация состоит из набора текстовых файлов LDIF, расположенных в каталоге /etc/ldap/slapd.d, но их никогда не следует редактировать напрямую. Традиционный метод правки конфигурации с использованием плоского файла (slapd.conf) также можно использовать, но он не рекомендуется.

Читайте также:  Sed linux перенос строки

Сразу после установки у нас будут созданы две базы данных, или как их еще называют суффиксы: один для ваших данных, основанный на домене вашего хоста (dc=domain,dc=com), и один для вашей конфигурации, с корнем в cn=config. Чтобы изменить данные на каждом из них, нам нужны разные учетные данные и методы доступа:

Пользователь с правами администратора для этого суффикса — cn=admin,dc=domain,dc=com, а его пароль — тот, который был выбран во время установки пакета slapd.

Конфигурация самого slapd будет храниться под этим суффиксом. Изменения в него могут быть внесены с помощью использования специального DN:

Добавляем записи в каталог

Давайте дополним наш каталог данными. Мы добавим узлы People, Groups, группу Managers и пользователя John.

Для этого мы создадим файл add_content.ldif:

dn: ou=People,dc=domain,dc=com objectClass: organizationalUnit ou: People dn: ou=Groups,dc=domain,dc=com objectClass: organizationalUnit ou: Groups dn: cn=miners,ou=Groups,dc=domain,dc=com objectClass: posixGroup cn: miners gidNumber: 5000 dn: uid=john,ou=People,dc=domain,dc=com objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount uid: john sn: Doe givenName: John cn: John Doe displayName: John Doe uidNumber: 10000 gidNumber: 5000 userPassword: x gecos: John Doe loginShell: /bin/bash homeDirectory: /home/john

Мы можем проверить правильность добавления информации с помощью утилиты ldapsearch. Например, давайте выполним поиск записи john и запросим атрибуты cn и gidnumber:

$ ldapsearch -x -LLL -b dc=domain,dc=com ‘(uid=john)’ cn gidNumber

Как видно, учетная запись успешно найдена.

Заключение

В этой статье мы рассмотрели процесс базового развертывания каталога LDAP под Ubuntu Linux. В следующей статье мы подробно рассмотрим добавление групп и отдельных пользователей, а также внесение других изменений в конфигурацию LDAP.

Напоследок приглашаю всех читателей на бесплатный вебинар, где мы разберём основные методы для решения двух задач: увеличение производительности веб-приложений и работа с высокими нагрузками. Для этого погрузимся в процесс взаимодействия веб-браузера и веб-сервера, а также найдём множество полезных настроек модулей Nginx.

Источник

Directory-as-a-Service feature Linux User Management

Users on Linux systems have traditionally been managed through manual efforts, scripts, or OpenLDAP. In other words, Linux has been on the outside looking in when it comes to IT management tools.

There are two major reasons. First of all, Microsoft Windows has historically been the dominant platform, resulting in less focus on the Linux platform. Secondly, most of the sysadmins that run Linux systems are proficient enough to manually manage them or use scripts.

As Linux becomes more mainstream and more organizations use the platform, better user management tools are important. This is why the JumpCloud® Directory-as-a-Service® platform features Linux user management capabilities, along with device management functions for organizations that are leveraging the Linux platform in the cloud or on-prem.

Linux Emerges, Gains Traction, and Takes Off

Linux Tux

A couple of decades ago, most organizations were homogeneous Windows shops. Their end users, server platforms, and applications were based on Windows. At that time, even the Unix systems were relatively small market share solutions. They did spawn some significant companies, though. While the open source Linux platform emerged in the early 1990s and gained traction later that decade, it really took off in the 2000s. Linux became a natural choice as IT organizations were cutting costs yet still wanted a durable operating system platform. Of course, its open source nature made it more difficult to work with. Then again, that was a benefit for many developers and system administrators. A number of open source projects flourished, and the concept became more mainstream and accepted in the early part of the 2000s.

Читайте также:  Linux server права доступа

Challenges Ground Linux User Management

Fast-forward to the present, where Linux is a dominant platform in the data center. It still has not taken off with end users, but Linux is the platform of choice for cloud and on-prem servers. Of course, there are many variants in the Linux community, including Red Hat, CoreOS, CentOS, Fedora, Ubuntu, and Amazon Linux, just to name a few.

For sysadmins and developers, there exists a challenge with this infrastructure: how to manage user access to those servers . With cloud servers being more prevalent, there is no local directory server to control access. When organizations choose multiple providers, IT must put directory servers in their home office. In addition to being a difficult proposition, it doesn’t make a lot of sense.

Directory-as-a-Service and Linux Take Flight

daas-landscape

JumpCloud’s Directory-as-a-Service Linux user management feature is a cloud-based directory services platform that manages user access to Linux servers regardless of location or type. A small agent is deployed on each Linux server. Users are then created on the JumpCloud web console. Subsequently, users are created locally on each system.

User accounts and systems can be grouped to make managing access easier. Linux systems can leverage password-based login, SSH key, and multi-factor authentication. JumpCloud’s cloud directory can also manage other platforms, such as Windows and Mac, so that all systems are centrally controlled.

Beyond systems, JumpCloud’s virtual identity provider also integrates with Google Apps, Office 365 , AWS, and other SaaS applications. The goal of the Identity-as-a-Service platform is to connect user identities with the IT resources that they need.

If you would like to learn more about how Directory-as-a-Service can support your Linux management needs, drop us a note . Please feel free to give our cloud identity management platform a try for yourself. Your first 10 users are free forever.

Источник

Оцените статью
Adblock
detector