Difference between revisions of "Ejudge-contests-cmd: unload-2"

From EjudgeWiki
 
Line 11: Line 11:
  
 
Использование:
 
Использование:
  ejudge-contests-cmd CONTEST-ID unload LOGIN PASSWORD
+
  ejudge-contests-cmd CONTEST-ID unload-2 LOGIN PASSWORD
 +
 
 +
Если в качестве LOGIN и PASSWORD указываются __unix__, то для аутентификации пользователя ejudge используется отображение
 +
системных пользователей в пользователи ejudge, задаваемое в элементе [[ejudge.xml:user_map|<tt>&lt;user_map&gt;</tt>]]
 +
конфигурационного файла [[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|2.3.20]].

Latest revision as of 05:42, 5 January 2012

Навигация: Система 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.