Я хочу разрешить обычному пользователю быть администраторами. Чтобы эти авторизованные пользователи могли создавать учетные записи, удалять учетные записи, изменять пароль, изменять правила паролей. Я знаю, что su может помочь, интересно, есть ли другие методы, которые работают? Большое спасибо!
судо это обычный метод (man sudo). Он позволяет указать, что конкретный пользователь может запускать определенный набор команд от имени другого конкретного пользователя (обычно, но не всегда, root), аутентифицирует их своим собственным паролем, чтобы доказать, что они они, и регистрировать то, что они ' сделал. Пользователи и команды могут быть сгруппированы для упрощения администрирования.
Обратите внимание, что могут быть проблемы с командами, которые разрешают доступ к оболочке или редактируют произвольные файлы; если, скажем, вы разрешаете кому-либо использовать sudo vi как root, вы фактически доверяете им что-либо делать как root (хотя есть смягчающие меры, которые могут быть приняты даже против этого). Но помимо таких проблем, это отличная система для делегирования доверия, и большинство системных администраторов, которых я знаю, используют ее в течение многих лет.
Чего именно вы пытаетесь достичь? Если в вашем случае вы предлагаете службу электронной почты или веб-страницы и хотите делегировать управление этими учетными записями некоторым другим пользователям, то было бы неплохо отделить эти учетные записи от фактических учетных записей системы. Таким образом, ограничение того, что люди могут делать на вашем сервере, станет намного проще и понятнее. Итак, сохраните только системные учетные записи в / etc / passwd и отделите все остальное от MySQL / OpenLDAP / какой-либо другой системы.
Поскольку я не знаю, что вы на самом деле собираетесь делать, я не собираюсь печатать длинное руководство, но вот концепция вкратце. Я предполагаю, что здесь вам нужно предоставить службу электронной почты, и кому-то (или чему-то, например сценарию Perl) нужно изменить учетные записи пользователей для этого. Поместим учетные записи в OpenLDAP.
1) Установите программное обеспечение POP / IMAP-сервера по вашему выбору. Большинство из них, если не все, поддерживают аутентификацию PAM.
2) Установите pam_ldap (и, скорее всего, nss_ldap), чтобы вы могли указать фазу аутентификации для поиска учетных записей в OpenLDAP.
4) Настройте почтовую программу для использования LDAP и / или измените /etc/pam.d/{pop3,imap} для использования pam_ldap.
5) Создайте свою исходную базу данных OpenLDAP с необходимой схемой LDAP. В OpenLDAP есть сценарии, которые могут сделать это за вас.
6) Установите инструменты администрирования LDAP по вашему выбору. Доступны инструменты командной строки, веб-интерфейсы, графические интерфейсы и API.
7) Предоставьте вашим опекунам доступ к вашему интерфейсу администрирования LDAP.
8) Убедитесь, что через аутентификацию LDAP доступна только служба электронной почты, а не другие службы, такие как обычный вход в оболочку.
9) Взрыв! Ваши опекуны могут управлять вашими учетными записями электронной почты, но нелегко нанести вред вашему серверу.