Incoming/acl

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

(Различия между версиями)
Перейти к: навигация, поиск
(Приведено в порядок)
Строка 1: Строка 1:
-
== Работа с ACL в подсистеме incoming ==
+
[[Категория:Сизиф]]
 +
== ACL пакетов ==
-
Утилита <code>girar-acl</code> позволяет управлять ACL в подсистеме [[Справочник_по_incoming|incoming]]. Замена Notes.  
+
Пакеты в Sisyphus имеют ACL: набор пользователей, которым разрешено собирать пакет через [[git.alt]] или заливать <tt>src.rpm</tt> через [[Incoming]].
-
Версия '''0''' синтаксиса:
+
Управление ACL производится с помощью SSH-интерфейса [[git.alt]].
-
  Usage: girar-acl <repository> [{<package>|@<group>} show
+
-
    or: girar-acl <repository> [{<package>|@<group>} {add|del|leader|replace} {<login>|@<group>}...]
+
-
    or: girar-acl <repository> <package> nmu {add|del} [<login> [<start date> [<end date>]]]
+
-
    or: girar-acl <repository> # reads commands from stdin, one command per line
+
-
  Valid repositories are: sisyphus
+
-
=== Понятия ===
+
== acl ==
-
;package: Имя пакета, собираемого в incoming
+
-
;login: Учётная запись пользователя (используемая в ключе, которым подписан пакет)
+
-
;group: Группа учётных записей пользователей, совместно работающих над пакетом (team)
+
-
;repository: Хранилище пакетов (пока допустимо только одно -- sisyphus)
+
-
=== Команды ===
+
Команда <tt>acl</tt> требует указания репозитория, над которым производится работа. На данный момент используется только репозиторий Sisyphus, для которого используется метка <tt>sisyphus</tt>.
-
;''package'' show: Посмотреть список правил доступа к пакету
+
Если в командной строке указан только репозиторий, но не указана подкоманда, то список команд читается со стандартного ввода, по одной команде на строку, и выполняется тразакционно: ошибка в выполнении хотя бы одной команды отменяет действие всего набора команд.
-
;''@group'' show: Посмотреть список людей в группе
+
-
;''package'' add ...: Добавить человека или группу в список доступа к пакету
+
-
;''@group'' add ...: Добавить человека в группу
+
-
;''package'' del ...: Удалить человека или группу из списка доступа к пакету
+
-
;''@group'' del ...: Удалить человека из группы
+
-
;... leader ''login'': Установить сопровождающего пакет или лидера группы
+
-
;''package'' leader ''@group'': Установить сопровождающего пакет из поля "лидер группы"
+
-
;''package'' nmu: Разрешить всем делать NMU всегда
+
-
;''package'' nmu * ...: Разрешить всем делать NMU в указанные сроки
+
-
;''package'' nmu ...: Разрешить человеку делать NMU к пакету (возможно, на определённый срок)
+
-
В случае, когда ни одна команда не задана (указан только ''repository''), команды вводятся со стандартного ввода и выполняются в пакетном режиме. Если при выполнении команд в пакете возникает ошибка, ни одна, даже успешно выполнившаяся, не действует на ACL.
+
=== acl show ===
-
Команда <code>girar-acl</code> запускается, например, по <code>ssh git.alt acl</code>:
+
'''$ ssh git.alt acl <binary repository> <package> show'''
 +
Показывает ACL указанного пакета
-
  $ ssh git.alt acl sisiphus ash show
+
$ ssh git.alt acl sisyphus bugzilla show
-
  ash    legion
+
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 осуществлялось не через <tt>git.alt</tt>, а размещением файлов записок (notes) в определённой директории [[Incoming]].

Версия 19:43, 18 ноября 2008

Содержание

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.

 
Личные инструменты