Изначально вход в панель управления через консоль доступен только администратору. Администратор может осуществлять все управление сам или добавить других пользователей и наделить их соответствующими правами на выполнение операций.
Пользователи и группы
Пользователи
Пользователь может иметь следующие поля:
- username
- password
Кроме этого пользователь может состоять в нескольких группах(groups) и иметь права доступа на выполнение нескольких операций(permissions). Пользователю могут принадлежать приложения созданные в системе. Также пользователь имеет флаг "active" с помощью которого можно приостановить возможность подключения пользователя к консоли.
Управление пользователями происходит с помощью команд
- show users
- add user
- remove user
- update user
- passwd
См. Полный список команд ядра.
Команда show users
Используется для вывода существующих пользователей.
Параметры:
[-d | --detail] включить детализированный вывод
[-a | --active] вывести только активных пользователей
Пример:
show users -d -a
Команда add user
Используется для добавления пользователя в систему.
Параметры:
<username> новое имя пользователя, обязательный параметр
<password> пароль пользователя, обязательный параметр
<groups> группа или перечень групп в которых должен состоять пользователь, обязательный параметр
Пример:
add user alice passw0rd_for_alice ADMIN add user bob bobs_password DEVELOPER,STAFF
Команда update user
Используется для изменения данных пользователя.
Параметры:
[-a | --active] статус пользователя, true или false
[-m | --merge] не удалять пользователя с уже назначенных ему групп, доступно только если указан параметр <groups>
<username> имя пользователя, обязательный параметр
<groups> группа или перечень групп в которых должен состоять пользователь
Пример:
update user alice STAFF update user -m bob ADMIN,DEVELOPER update user -a false alice
Команда passwd
Используется для смены пароля. Пользователь состоящий в супер группе может менять пароли любым пользователям. Остальные пользователи могут менять только свой пароль.
Параметры:
<username> имя пользователя для которого нужно поменять пароль, необязательный параметр
Пример:
passwd passwd alice
Команда remove user
Используется для удаления пользователя из системы. Пользователь не может быть удален если ему принадлежит приложение. Параметры:
<username> имя удаляемого пользователя, обязательный параметр
Пример:
remove user bob
Группы
Группы можно добавлять и удалять. Для этого используются следующие команды:
- show groups
- add group
- remove group
Команда show groups
Используется для вывода списка групп, параметров не принимает.
Пример:
show groups
Команда add group
Используется для добавления группы в систему.
Параметры:
<group> имя новой группы, обязательный параметр
Пример:
add group DEVELOPERS
Команда remove group
Используется для удаления группы. Супер группа ADMIN не может быть удалена из системы. Если у какого либо пользователя указанная группа является единственно назначенной, группа не может быть удалена.
Параметры:
<group> имя удаляемой группы, обязательный параметр
Пример:
remove group DEVELOPERS
Права на выполнение операций
Каждое действие в командном интерфейсе представляет собой операцию.
Полный список операций можно увидеть, воспользовавшись командой:
show operations
По умолчанию, права на выполнение всех операций есть только у группы ADMIN.
Для добавления прав на отдельные операции для других пользователей и групп можно воспользоваться следующими командами:
- show permissions
- add permission
- remove permission
- update permission
Команда show permissions
Используется для вывода существующих прав. Параметров не принимает.
Пример:
show permissions
Команда add permission
Используется для добавления прав на отдельные операции.
Параметры:
<operation> имя операции (с вывода команды show operations), обязательный параметр
[-g | --groups] группа или перечень групп разделенный запятыми, является обязательным если не указан параметр -u
[-u | --users] пользователь или перечень пользователей разделенных запятой, является обязательным если не указан параметр -g
Пример:
add permission -u bob,alice -g DEVELOPERS 'add app' add permission -g STAFF 'add user'
Команда update permission
Используется для изменения существующих прав в системе. Если не был указан параметр -d или -a группы и пользователи будут перезаписаны.
Параметры:
<operation> имя операции (с вывода команды show operations), обязательный параметр
[-g | --groups] группа или перечень групп разделенный запятыми, является обязательным если не указан параметр -u
[-u | --users] пользователь или перечень пользователей разделенных запятой, является обязательным если не указан параметр -g
[-d | --delete] удалить указанные группы и указанных пользователей
[-a | --add] добавить указанные группы и указанных пользователей
Пример:
update permission -a -u alice "add user" update permission -a -u bob -g DEVELOPERS,STAFF "add user" update permission -d -g DEVELOPERS "add user"
Команда remove permission
Используется для удаления прав из системы.
Параметры:
<operation> имя операции (с вывода команды show operations), обязательный параметр
Пример:
remove permission "add user" remove permission "add app"
Примеры
Добавление новой группы и нового пользователя
Новый пользователь может добавлять пользователей в систему.
1. Добавление группы STAFF
add group STAFF show groups
2. Добавление пользователя bob
add user bob bobsPassword STAFF show users
3. Добавление прав на управление пользователями в систему
add permission -g STAFF "show users" add permission -g STAFF "add user" add permission -g STAFF "update user" add permission -g STAFF "remove user"
Добавление нового пользователя, идентичного существующему
Новый пользователь идентичен существующему пользователю bob с правами создания пользователей.
1. Добавление пользователя john
add user john jonsPassword STAFF show users
Поскольку пользователь был добавлен в группу STAFF он автоматически наследует права этой группы и как следствие может добавлять новых пользователей
Деактивация пользователя
После деактивации данные пользователя не удаляются однако пользователь не сможет зайти в систему.
1. Деактивация пользователя john
update user -a false john show users -d
Добавление пользователя с правами
Новый пользователь может просматривать информацию по другим пользователям.
1. Добавление группы ACCOUNTANT
add group ACCOUNTANT show groups
2. Добавление пользователя alice
add user alice alicesPassword ACCOUNTANT show users
3. Разрешаем пользователю alice просмотр пользователей
update permission -a -u alice "show users" show permissions
Разрешаем пользователям изменять свои пароли
Пользователи в группе в группе STAFF и ACCOUNTANT могут изменять свои пароли.
1. Создаем соответствующую запись
add permission -g STAFF,ACCOUNTANT passwd