Ejudge-contests-cmd: unload-2

From EjudgeWiki

Навигация: Система ejudge/Использование/Использование из командной строки/ejudge-contests-cmd/Команды/unload-2

Команда unload-2 выгружает структуры данных, относящиеся к турниру, из памяти сервера. Поскольку структуры данных турнира автоматически подгружаются в память при запросе к турниру, данная команда работает как кнопка "Reload contest settings" административного web-интерфейса, то есть позволяет перечитать конфигурационные файлы турнира.

Отличие данной команды от команды unload в том, что

  • в данной команде указываются логин и пароль пользователя в базе пользователей ejudge, то есть не требуется предварительное создание сессии;
  • данная команда поддерживает специальные логин и пароль __unix__, при указании которых аутентификация пользователя ejudge будет выполняться по системному пользователю Unix;
  • для выполнения команды достаточно бита привилегий UNLOAD_CONTEST и не требуются MASTER_LOGIN и CONTROL_CONTEST.

Использование:

ejudge-contests-cmd CONTEST-ID unload-2 LOGIN PASSWORD

Если в качестве LOGIN и PASSWORD указываются __unix__, то для аутентификации пользователя ejudge используется отображение системных пользователей в пользователи ejudge, задаваемое в элементе <user_map> конфигурационного файла ejudge.xml. Например, если в файле ejudge.xml задано отображение

  <user_map>
    <map system_user="linux_user" local_user="ejudge_user"/>
  </user_map>

Если команда ejudge-contest-cmd запускается из-под пользователя linux_user, то при запуске ejudge-contest-cmd с аргументами

ejudge-contests-cmd CONTEST-ID unload-2 __unix__ __unix__

команда unload-2 будет выполняться с правами пользователя ejudge_user.

Для выполнения команды unload-2 необходимо наличие у пользователя полномочия UNLOAD_CONTEST. Если полномочие UNLOAD_CONTEST определено для пользователя в глобальном конфигурационном файле ejudge.xml, то пользователь может выполнять данную операцию с любым турниром. Если полномочие определено в файле конфигурации турнира contest.xml, то пользователь может выполнять данную операцию с данным турниром.

Данная команда поддерживается, начиная с версии 2.3.20.