Служебные учетные записи
Служебные учетные записи
Иногда нужно создать служенбного пользователя для того, чтобы не запускать ту или иную службу от имени root.
Предположим, что мы работаем с openldap. Тогда нам может помочь следующая компанда:
sudo useradd -m -r -s /bin/false openldap
Разберем параметры, которые были использованы:
- -m - создать домашний каталог. Не обязательно, но может быть полезно, чтобы хранить какую-то дополнительную конфигурацию, которая должна быть доступна только этому сервисному пользователю
- -r - системный пользователь. Такой пользователь не сможет войти в систему традиционным способом
- -s /bin/false - отключаем оболочку (shell) для пользователя. Дополнительная мера безопасности, лишаем пользователя традиционной консоли
Если нужно выполнить команду от имени служебного пользователя…
Иногда бывает нужно выполнить ту или иную команду от имени служебного пользователя. Как это сделать, если мы отключили ему shell?
Очень просто! Нам нужно задать нужную оболочку в момент вызова команды. Сделать это можно через root-пользователя. Например:
su - gitlab-runner -s /bin/bash -c "id"