Difference between revisions of "Полномочия пользователей"
(2 intermediate revisions by 2 users not shown) | |||
Line 44: | Line 44: | ||
|style="border-style: solid; border-width: 1px"| Пользователь может запускать сервер турнира программу <tt>[[serve]]</tt>. | |style="border-style: solid; border-width: 1px"| Пользователь может запускать сервер турнира программу <tt>[[serve]]</tt>. | ||
|- | |- | ||
− | |style="border-style: solid; border-width: 1px"| <tt> | + | |style="border-style: solid; border-width: 1px"| <tt>LIST_USERS</tt> |
|style="border-style: solid; border-width: 1px"| 4 | |style="border-style: solid; border-width: 1px"| 4 | ||
+ | |style="border-style: solid; border-width: 1px"| CU | ||
+ | |style="border-style: solid; border-width: 1px"| (C) Пользователь может просматривать список пользователей, зарегистрировавшихся на турнир. (U) Пользователь может просматривать список всех пользователей в базе пользователей. | ||
+ | |- | ||
+ | |style="border-style: solid; border-width: 1px"| <tt>PRIV_EDIT_REG</tt> | ||
+ | |style="border-style: solid; border-width: 1px"| 5 | ||
|style="border-style: solid; border-width: 1px"| C | |style="border-style: solid; border-width: 1px"| C | ||
− | |style="border-style: solid; border-width: 1px"| Пользователь может | + | |style="border-style: solid; border-width: 1px"| Пользователь может редактировать статус регистрации привилегированных пользователей. |
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|style="border-style: solid; border-width: 1px"| <tt>CREATE_USER</tt> | |style="border-style: solid; border-width: 1px"| <tt>CREATE_USER</tt> | ||
Line 65: | Line 65: | ||
|- | |- | ||
|style="border-style: solid; border-width: 1px"| <tt>EDIT_USER</tt> | |style="border-style: solid; border-width: 1px"| <tt>EDIT_USER</tt> | ||
− | |style="border-style: solid; border-width: 1px"|8 | + | |style="border-style: solid; border-width: 1px"| 8 |
|style="border-style: solid; border-width: 1px"| CU | |style="border-style: solid; border-width: 1px"| CU | ||
|style="border-style: solid; border-width: 1px"| Пользователь может редактировать информацию о другом непривилегированном пользователе. | |style="border-style: solid; border-width: 1px"| Пользователь может редактировать информацию о другом непривилегированном пользователе. | ||
Line 84: | Line 84: | ||
|style="border-style: solid; border-width: 1px"| Пользователь может удалять другого привилегированного пользователя из базы пользователей. | |style="border-style: solid; border-width: 1px"| Пользователь может удалять другого привилегированного пользователя из базы пользователей. | ||
|- | |- | ||
− | |style="border-style: solid; border-width: 1px"| <tt> | + | |style="border-style: solid; border-width: 1px"| <tt>EDIT_CONTEST</tt> |
|style="border-style: solid; border-width: 1px"| 12 | |style="border-style: solid; border-width: 1px"| 12 | ||
|style="border-style: solid; border-width: 1px"| C | |style="border-style: solid; border-width: 1px"| C | ||
− | |style="border-style: solid; border-width: 1px"| Пользователь может | + | |style="border-style: solid; border-width: 1px"| Пользователь может редактировать настройки турниров. |
|- | |- | ||
|style="border-style: solid; border-width: 1px"| <tt>CREATE_REG</tt> | |style="border-style: solid; border-width: 1px"| <tt>CREATE_REG</tt> | ||
Line 184: | Line 184: | ||
|style="border-style: solid; border-width: 1px"| Пользователь может распечатывать на принтере текст программы из-под привилегированных программ <tt>master</tt> или <tt>judge</tt>. | |style="border-style: solid; border-width: 1px"| Пользователь может распечатывать на принтере текст программы из-под привилегированных программ <tt>master</tt> или <tt>judge</tt>. | ||
|- | |- | ||
− | |style="border-style: solid; border-width: 1px"| <tt> | + | |style="border-style: solid; border-width: 1px"| <tt>EDIT_PASSWORD</tt> |
|style="border-style: solid; border-width: 1px"| 32 | |style="border-style: solid; border-width: 1px"| 32 | ||
|style="border-style: solid; border-width: 1px"| CU | |style="border-style: solid; border-width: 1px"| CU | ||
− | |style="border-style: solid; border-width: 1px"| (C) Пользователь может | + | |style="border-style: solid; border-width: 1px"| (C) Пользователь может изменять турнирный пароль других непривилегированных пользователей в даном турнире. (U) Пользовател может изменять любой пароль непривилегированных пользователей. |
+ | |- | ||
+ | |style="border-style: solid; border-width: 1px"| <tt>PRIV_EDIT_PASSWORD</tt> | ||
+ | |style="border-style: solid; border-width: 1px"| 33 | ||
+ | |style="border-style: solid; border-width: 1px"| CU | ||
+ | |style="border-style: solid; border-width: 1px"| (C) Пользователь может изменять турнирный пароль других привилегированных пользователей в даном турнире. (U) Пользовател может изменять любой пароль привилегированных пользователей. | ||
+ | |- | ||
+ | |style="border-style: solid; border-width: 1px"| <tt>RESTART</tt> | ||
+ | |style="border-style: solid; border-width: 1px"| 34 | ||
+ | |style="border-style: solid; border-width: 1px"| C | ||
+ | |style="border-style: solid; border-width: 1px"| Пользователь может стартовать или останавливать турнир. | ||
+ | |- | ||
+ | |style="border-style: solid; border-width: 1px"| <tt>COMMENT_RUN</tt> | ||
+ | |style="border-style: solid; border-width: 1px"| 35 | ||
+ | |style="border-style: solid; border-width: 1px"| C | ||
+ | |style="border-style: solid; border-width: 1px"| Пользователь может комментировать программы участников. | ||
+ | |- | ||
+ | |style="border-style: solid; border-width: 1px"| <tt>UNLOAD_CONTEST</tt> | ||
+ | |style="border-style: solid; border-width: 1px"| 36 | ||
+ | |style="border-style: solid; border-width: 1px"| C | ||
+ | |style="border-style: solid; border-width: 1px"| Пользователь может инициировать перечтение конфигурационных файлов во время турнира. | ||
|} | |} | ||
Line 204: | Line 224: | ||
<cap login="petya"/> | <cap login="petya"/> | ||
Полномочия пользователя по отношению к турниру задаются в конфигурационном файле | Полномочия пользователя по отношению к турниру задаются в конфигурационном файле | ||
− | турнира <tt>[[contest.xml]]</tt> с помощью элемента <tt>[[contest.xml | + | турнира <tt>[[contest.xml]]</tt> с помощью элемента <tt>[[contest.xml:cap|cap]]</tt>. В элементе через запятую перечисляются |
полномочия указанного пользователя. Пустое множество полномочий для турнира допускается, но не имеет смысла. | полномочия указанного пользователя. Пустое множество полномочий для турнира допускается, но не имеет смысла. |
Latest revision as of 05:36, 8 April 2012
Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/Полномочия пользователей
Система ejudge поддерживает тонкую настройку прав выполнения всех привилегированных операций для пользователей системы. К привилегированным операциям относятся операции управления турниром (запуск, останов, просмотр и изменения результатов проверки программы и пр.) и операции управления базой данных пользователей. Настройка осуществляется с помощью указаний полномочий пользователя для выполнения операций над базой пользователей и полномочий пользователя для выполнения операций над каждым из созданных в системе турниров.
Пользователи, для которых указаны полномочия выполнения операций над базой пользователей, считаются привилегированными. При этом может быть указано пустое множество полномочий. Пользователи, для которых указаны полномочия выполнения операций над каким-либо турниром, являются привилегированными только для данного турнира, но не для системы в целом. Различие между общесистемно привилегированным пользователем (даже с пустым множеством привилегий) и всеми прочими пользователями состоит в том, что для выполнения операций над привилегированными пользователями требуются специальные привилегии.
Все привилегии системы ejudge перечислены ниже.
Название | Бит | Где | Описание |
---|---|---|---|
MASTER_LOGIN | 0 | CU | (C) Пользователь может использовать CGI-программу master. (U) Пользователь может использовать CGI-программу serve-control. |
JUDGE_LOGIN | 1 | CU | (C) Пользователь может использовать CGI-программу judge. (U) Пользователь может использовать CGI-программу serve-control. |
SUBMIT_RUN | 2 | C | (C) Пользователь может посылать решения, пользуясь привилегированными CGI-программами master или judge. |
MAP_CONTEST | 3 | C | Пользователь может запускать сервер турнира программу serve. |
LIST_USERS | 4 | CU | (C) Пользователь может просматривать список пользователей, зарегистрировавшихся на турнир. (U) Пользователь может просматривать список всех пользователей в базе пользователей. |
PRIV_EDIT_REG | 5 | C | Пользователь может редактировать статус регистрации привилегированных пользователей. |
CREATE_USER | 6 | U | Пользователь может создавать новых пользователей. |
GET_USER | 7 | CU | Пользователь может получать информацию о другом непривилегированном пользователе. |
EDIT_USER | 8 | CU | Пользователь может редактировать информацию о другом непривилегированном пользователе. |
DELETE_USER | 9 | U | Пользователь может удалять другого непривилегированного пользователя из базы пользователей. |
PRIV_EDIT_USER | 10 | CU | Пользователь может редактировать другого информацию о другом привилегированном пользователе. |
PRIV_DELETE_USER | 11 | U | Пользователь может удалять другого привилегированного пользователя из базы пользователей. |
EDIT_CONTEST | 12 | C | Пользователь может редактировать настройки турниров. |
CREATE_REG | 13 | C | Пользователь может регистрировать других непривилегированных пользователей для участия в турнире. |
EDIT_REG | 14 | C | Пользователь может редактировать статус регистрации других пользователей в турнире. |
DELETE_REG | 15 | C | Пользователь может удалять регистрацию других непривилегированных пользователей в турнире. |
PRIV_CREATE_REG | 16 | C | Пользователь может регистрировать других привилегированных пользователей для участия в турнире. |
PRIV_DELETE_REG | 17 | C | Пользователь может удалять регистрацию других привилегированных пользователей в турнире. |
DUMP_USERS | 18 | CU | Пользователь может получать базу пользователей в CSV-формате. |
DUMP_RUNS | 19 | C | Пользователь может получать базу попыток сдачи в CSV-формате. |
DUMP_STANDINGS | 20 | C | Пользователь может получать результаты турнира в CSV-формате. |
VIEW_STANDINGS | 21 | C | Пользователь может просматривать судейскую таблицу результатов, которая никогда не замораживается. |
VIEW_SOURCE | 22 | C | Пользователь может просматривать исходный код попыток сдачи программ участников. |
VIEW_REPORT | 23 | C | Пользователь может просматривать отчёт о тестировании программ участников. |
VIEW_CLAR | 24 | C | Пользователь может просматривать вопросы к судьям от участников и ответы судей. |
EDIT_RUN | 25 | C | Пользователь может произвольным образом изменять информацию о попытке участника. |
REJUDGE_RUN | 26 | C | Пользователь может отправить попытку участника на перетестирование. |
NEW_MESSAGE | 27 | C | Пользователь может послать сообщение произвольному участнику. |
REPLY_MESSAGE | 28 | C | Пользователь может ответить на сообщение от участника. |
CONTROL_CONTEST | 29 | C | Пользователь может управлять турниром (стартовать, останавливать и т. д.). |
IMPORT_XML_RUNS | 30 | C | Пользователь может импортировать таблицу посылок турнира в XML-формате. |
PRINT_RUN | 31 | C | Пользователь может распечатывать на принтере текст программы из-под привилегированных программ master или judge. |
EDIT_PASSWORD | 32 | CU | (C) Пользователь может изменять турнирный пароль других непривилегированных пользователей в даном турнире. (U) Пользовател может изменять любой пароль непривилегированных пользователей. |
PRIV_EDIT_PASSWORD | 33 | CU | (C) Пользователь может изменять турнирный пароль других привилегированных пользователей в даном турнире. (U) Пользовател может изменять любой пароль привилегированных пользователей. |
RESTART | 34 | C | Пользователь может стартовать или останавливать турнир. |
COMMENT_RUN | 35 | C | Пользователь может комментировать программы участников. |
UNLOAD_CONTEST | 36 | C | Пользователь может инициировать перечтение конфигурационных файлов во время турнира. |
U в колонке «где» обозначает, что данный бит полномочий может использоваться в глобальном конфигурационном файле ejudge.xml, C обозначает, что данный бит полномочий может использоваться в конфигурационном файле турнира contest.xml.
Полномочия пользователей для базы данных пользователей и управления турнирами задаются в общем конфигурационном файле ejudge.xml с помощью элемента cap. В этом элементе через запятую перечисляются полномочия указанного пользователя. Пробельные символы игнорируются. Например:
<cap login="vasya"> LIST_ALL_USERS, GET_USER, </cap>
Текст в элементе cap может быть пустым, тогда множество полномочий пользователя пусто, но такой пользователь будет считаться привилегированным пользователем. Например:
<cap login="petya"/>
Полномочия пользователя по отношению к турниру задаются в конфигурационном файле турнира contest.xml с помощью элемента cap. В элементе через запятую перечисляются полномочия указанного пользователя. Пустое множество полномочий для турнира допускается, но не имеет смысла.