Incoming/acl

Материал из ALT Linux Wiki

ACL пакетов

Пакеты в Sisyphus имеют ACL: набор пользователей, которым разрешено собирать пакет через git.alt или заливать src.rpm через Incoming.

Управление ACL производится с помощью SSH-интерфейса git.alt.

acl

Команда acl требует указания репозитория, над которым производится работа. На данный момент используется только репозиторий Sisyphus, для которого используется метка sisyphus.

Если в командной строке указан только репозиторий, но не указана подкоманда, то список команд читается со стандартного ввода, по одной команде на строку, и выполняется тразакционно: ошибка в выполнении хотя бы одной команды отменяет действие всего набора команд.

acl show

$ ssh git.alt acl <binary repository> <package> show

Показывает ACL указанного пакета

$ ssh git.alt acl sisyphus bugzilla show
bugzilla       @nobody
$ ssh git.alt acl <binary repository> @<group> show

Показывает состав указанной группы майнтайнеров.

$ ssh git.alt acl sisyhpus @python show
@python        ns ldv george akhavr bga lav swi at hiddenman sin mithraen kas

acl add/del

Эти операции выполняются асинхронно. Результат будет сообщён по e-mail.

$ ssh git.alt acl <binary repository> <package> add|del <login>|@<group> ...

Добавляет/удаляет указанных пользователей и группы в/из ACL указанного пакета. Данную операцию может производить только лидер пакета.

$ ssh git.alt acl sisyphus keyjnote add damir
girar-acl: 1 command(s) queued
$ ssh git.alt acl sisyphus keyjnote del damir
girar-acl: 1 command(s) queued
$ ssh git.alt acl <binary repository> @<group> add|del <login>|@<group> ...

Добавляет/удаляет указанных пользователей и группы в/из указанной группы. Данную операцию может производить только лидер группы.

$ ssh git.alt acl sisyphus keyjnote add @python
girar-acl: 1 command(s) queued
$ ssh git.alt acl sisyphus keyjnote del @python
girar-acl: 1 command(s) queued

acl replace

Эта операция выполняется асинхронно. Результат будет сообщён по e-mail.

$ ssh git.alt acl <binary repository> <package>|@<group> replace <login>|@<group> <login>|@<group>

Заменяет первую запись в ACL пакета или составе группы на вторую.

$ ssh git.alt acl sisyphus keyjnote replace dottedmag @python

acl leader

Эта операция выполняется асинхронно. Результат будет сообщён по e-mail.

$ ssh git.alt acl <binary repository> <package> leader <login>|@<group>

Устанавливает лидера пакета - указанного пользователя, или лидера указанной группы. Пользователь или группа, устанавливаемые лидерами, обязаны присутствовать в списке ACL пакета.

$ ssh git.alt acl sisyphus keyjnote leader @python
$ ssh git.alt acl <binary repository> @<group> leader <login>|@<group>

Устанавливает лидера группы - указанного пользователя, или лидера указанной группы. Пользователь или группа, устанавливаемые лидерами, обязаны присутствовать в списке членов группы.

$ ssh git.alt acl sisyphus @python leader ns

acl nmu

Эта операция выполняется асинхронно. Результат будет сообщён по e-mail.

$ ssh git.alt acl <binary repository> <package> nmu add|del [<login> [<start date> [<end date>]]]

Выдаёт/снимает разрешение на проведение NMU указанного пакета.

Параметры:

  • login - аккаунт, которому даётся разрешение на NMU. * или отсутствие параметра означает "кому угодно"
  • start date - дата начала действия NMU, в формате unixtime. Отсутствие параметра означает "немедленно"
  • end date - дата окончания действия NMU, в формате unixtmie. Отсутствие параметра означает "никогда".

Исторические подробности

До 17 ноября 2008 года управление ACL осуществлялось не через git.alt, а размещением файлов записок (notes) в определённой директории Incoming.