Изначально вход в панель управления через консоль доступен только администратору. Администратор может осуществлять все управление сам или добавить других пользователей и наделить их соответствующими правами на выполнение операций.
Пользователи и группы
Пользователи
Пользователь может иметь следующие поля:
- 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 jon 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