ejudge-contests-cmd unload

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
vk
Posts:165
Joined:24 August 2007, 13:44
Location:Ханты-Мансийск
Contact:
ejudge-contests-cmd unload

Post by vk » 10 December 2011, 10:02

Здравствуйте, скажите пожалуйста, какие минимально разрешения необходимы для выполнения команды ejudge-contests-cmd unload?
Т.е. как установить разрешения для пользователя, чтобы он мог выполнять эту команду, но как можно меньше мог выполнять всего другого?

Сделал MASTER_LOGIN, CONTROL_CONTEST, можно ли еще меньше прав выдать?
И еще предложение - неплохо было бы разделить полномочия доступа через командную строку и веб-интерфейс. А то MASTER_LOGIN, например, дает доступ и туда, и туда. А что если нужно, чтобы пользователь мог выполнять команды для администрирования, но пользоваться веб-интерфейсом не мог?

Также хотелось бы спросить следующее:
В ejudge.xml можно указать привилегированных пользователей с описанием их разрешений. Где данные разрешения используются? Можно ли как-то сделать, чтобы у некоторого пользователя были глобальные разрешения на все турниры?

Спасибо за внимание

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: ejudge-contests-cmd unload

Post by cher » 10 December 2011, 20:40

То есть Вы хотите, чтобы было полномочие, позволяющее выполнять только Unload?

Можете пояснить еще, когда может потребоваться, чтобы из командной строки можно было бы выполнять действия, а из веб-интерфейса - нельзя. Мне кажется, что доступ к командной строке уже дает намного больше возможностей для управления системой в целом, нежели веб-интерфейс, поэтому желательно минимизировать необходимость работы с командной строкой.

vk
Posts:165
Joined:24 August 2007, 13:44
Location:Ханты-Мансийск
Contact:

Re: ejudge-contests-cmd unload

Post by vk » 10 December 2011, 23:09

cher wrote:То есть Вы хотите, чтобы было полномочие, позволяющее выполнять только Unload?
Да, именно так.
cher wrote: Можете пояснить еще, когда может потребоваться, чтобы из командной строки можно было бы выполнять действия, а из веб-интерфейса - нельзя. Мне кажется, что доступ к командной строке уже дает намного больше возможностей для управления системой в целом, нежели веб-интерфейс, поэтому желательно минимизировать необходимость работы с командной строкой.
Пишу дополнительный интерфейс к системе, не затрагивая оригинальный. При редактировании некоторых свойств турнира для вступления их в силу необходимо перечитать настройки (сделать Reload/Unload). Встает вопрос - как это сделать, не прибегая к администраторскому интерфейсу?
Делаю через ejudge-contests-cmd unload. Но для выполнения данной команды нужно явно получить админские кукисы, сделав ejudge-contests-cmd master-login. А для выполнения данной команды нужен админский пароль. Отсюда следует, что где-то в файлах системы нужно хранить пароль одного из админов в открытом виде.
Может это конечно параноя, но безопасность системы в целом подкашывается :-)

Я делаю отдельного пользователя, от имени которого я буду делать только Reload. Так как его пароль будет храниться в системе в открытом виде, то я заинтересован максимально урезать его возможности. На всякий случай. ;-)

UPD. Реализовано в 2.3.20, спасибо авторам.

Post Reply