ACL — различия между версиями

Материал из ALT Linux Wiki
Перейти к: навигация, поиск
(Отказ от пакета)
(Approve Control List)
 
(не показано 5 промежуточных версий 4 участников)
Строка 1: Строка 1:
 
[[Категория:Sisyphus]]
 
[[Категория:Sisyphus]]
 
[[Категория:Devel]]
 
[[Категория:Devel]]
С каждым пакетом в Сизифе связан ''ACL'' — список пользователей, которые могут залить регулярный пакет в [[incoming]] или запустить сборку с помощью [[git.alt]], и список пользователей, которые могут залить/собрать пакет как [[NMU]]. Для NMU дополнительно указывается интервал действия разрешения.
+
С каждым пакетом в каждом репозитории пакетов связан ''ACL'' (Approve Control List) — список пользователей и групп пользователей, которые могут отправить свою или одобрить чужую сборку этого пакета с помощью [[git.alt]] в этот репозиторий пакетов.
  
 
== ACL ==
 
== ACL ==
Строка 8: Строка 8:
 
; list.packages.sisyphus
 
; list.packages.sisyphus
 
: Список пользователей, которым разрешена нормальная заливка каждого из пакетов
 
: Список пользователей, которым разрешена нормальная заливка каждого из пакетов
; list.nmu.sisyphus
+
; list.groups.sisyphus
: Список пользователей, которым разрешён NMU на заливку указанных пакетов, unixtime начала действия разрешения и опциональный unixtime окончания действия разрешения.
+
: Список групп пользователей
  
Кроме того, ACL доступен в SSH-интерфейсе [[git.alt]], в команде <tt>acl show</tt>.
+
Кроме того, ACL можно посмотреть с помощью команды [[git.alt/Справочник#acl_show|git.alt acl show]].
  
По умолчанию (после первой сборки пакета и попадания его в репозиторий) ACL устанавливается в «разрешено только майнтейнеру». Майнтейнером считается группа, если тэг <tt>Packager</tt> пакета установлен в <tt><имягруппы>@packages.altlinux.org</tt> или член Team, указанный в <tt>Packager</tt>, в противном случае.
+
По умолчанию (после первой сборки пакета и попадания его в репозиторий) ACL устанавливается в «разрешено майнтейнеру и всем кто захочет». Майнтейнером считается группа, если тэг <tt>Packager</tt> пакета установлен в <tt><имягруппы>@packages.altlinux.org</tt> или член Team, указанный в <tt>Packager</tt>, в противном случае.
  
 
Первый пользователь в ACL является ''лидером'' пакета и может менять ACL. Кроме того, этот человек назначается ответственным за ошибки в Bugzilla для этого пакета. Остальные пользователи добавляются в CC на ошибки в Bugzilla для этого пакета.
 
Первый пользователь в ACL является ''лидером'' пакета и может менять ACL. Кроме того, этот человек назначается ответственным за ошибки в Bugzilla для этого пакета. Остальные пользователи добавляются в CC на ошибки в Bugzilla для этого пакета.
Строка 23: Строка 23:
 
Группа — это набор пользователей, вместе работающих над сборкой пакетов и поэтому для краткости обозначаемых в ACL одним словом. Названия групп начинаются с символа <tt>@</tt>.
 
Группа — это набор пользователей, вместе работающих над сборкой пакетов и поэтому для краткости обозначаемых в ACL одним словом. Названия групп начинаются с символа <tt>@</tt>.
  
Текущий список групп Сизифа размещается по адресу http://git.altlinux.org/acl/list.groups.sisyphus, а также доступен в SSH-интерфейсе <tt>git.alt</tt>, в команде <tt>acl show</tt>.
+
Создаются группы вручную, с помощью отправки письма на [mailto:devel/lists.altlinux.org devel@lists] с указанием названия группы и начального состава группы.
  
Создаются группы вручную, с помощью отправки письма на [mailto:incoming@altlinux.org incoming] с указанием названия группы и начального состава группы.
+
Изменяется состав группы с помощью команд семейства [[git.alt/Справочник#acl|git.alt acl]] её лидером — первым в списке членов группы.
 
 
Изменяется состав группы с помощью SSH-интерфейса <tt>git.alt</tt> её лидером — первым в списке членов группы.
 
  
 
=== @nobody ===
 
=== @nobody ===
  
@nobody — специальная псевдогруппа. После удаления всех пользователей из ACL, пакет помечается как принадлежащий @nobody. Любой пользователь может обновить пакет, принадлежащий @nobody, при этом он становится владельцем этого пакета.
+
@nobody — специальная псевдогруппа. После удаления всех пользователей из ACL, пакет помечается как принадлежащий @nobody. Любой пользователь может обновить пакет, принадлежащий @nobody. В этой ситуации пользователь, обновивший пакет, автоматически становится мейнтейнером этого пакета.
  
 
=== @everybody ===
 
=== @everybody ===
  
@everybody — специальная псевдогруппа. После добавления этой группы в ACL пакета, с пакета снимаются ограничения на заливку и на NMU. Принадлежность пакета при таких заливках не меняется.
+
@everybody — специальная псевдогруппа. После добавления этой группы в ACL пакета с пакета снимаются ограничения на заливку и на [[NMU|NMU]]. Принадлежность пакета при таких заливках не меняется.
  
 
== Управление ACL ==
 
== Управление ACL ==
  
Управление ACL происходит с помощью SSH-интерфейса [[git.alt]]. См [[Справочник по git.alt#Управление ACL пакетов|справочник по git.alt]] для описания синтаксиса и действий команд.
+
Управление ACL происходит с помощью команд семейства [[git.alt/Справочник#acl|git.alt acl]].
  
 
== HOWTO ==
 
== HOWTO ==
Строка 49: Строка 47:
 
=== Передача пакета кому-то ещё ===
 
=== Передача пакета кому-то ещё ===
  
$ ssh git.alt acl sisyphus ПАКЕТ add КТО_ТО
 
 
  $ ssh git.alt acl sisyphus ПАКЕТ leader КТО_ТО
 
  $ ssh git.alt acl sisyphus ПАКЕТ leader КТО_ТО
  
=== Выдача NMU на пакет ===
+
=== Передача пакета в общую разработку ===
 +
 
 +
Эта команда снимает ограничения на NMU и не-NMU заливку пакета.
  
  $ ssh git.alt acl sisyphus ПАКЕТ nmu КТО_ТО
+
  $ ssh git.alt acl sisyphus ПАКЕТ add @everybody
  
 
=== Отказ от пакета ===
 
=== Отказ от пакета ===
  
Для отказа от пакета необходимо удалить всех из ACL пакета. После следующей заливки заливающий будет объявлен майнтайнером пакета и ACL на пакет будет сброшен.
+
Для полного отказа от сопровождения пакета необходимо удалить себя из ACL пакета.
  
 
  $ ssh git.alt acl sisyphus ПАКЕТ show
 
  $ ssh git.alt acl sisyphus ПАКЕТ show
 
  ПАКЕТ  вася петя
 
  ПАКЕТ  вася петя
  $ ssh git.alt acl sisyphus ПАКЕТ del вася петя
+
  $ ssh git.alt acl sisyphus ПАКЕТ del вася
 
 
=== Передача пакета в общую разработку ===
 
 
 
Эта команда снимает ограничения на NMU и не-NMU заливку пакета.
 
 
 
$ ssh git.alt acl sisyphus ПАКЕТ add @everybody
 
  
 
== Управление группами ==
 
== Управление группами ==
Строка 76: Строка 69:
 
=== Создание группы ===
 
=== Создание группы ===
  
Вручную, письмом на [mailto:incoming@altlinux.org incoming], с названием группы и начальным списком участников.
+
Вручную, письмом в [mailto:devel@lists.altlinux.org список рассылки devel], с названием группы и начальным списком участников.
  
 
=== Добавление в группу ===
 
=== Добавление в группу ===
  
 
  $ ssh git.alt acl sisyphus @ГРУППА add КТО_ТО
 
  $ ssh git.alt acl sisyphus @ГРУППА add КТО_ТО

Текущая версия на 00:37, 23 февраля 2021

С каждым пакетом в каждом репозитории пакетов связан ACL (Approve Control List) — список пользователей и групп пользователей, которые могут отправить свою или одобрить чужую сборку этого пакета с помощью git.alt в этот репозиторий пакетов.

ACL[править]

Текущие списки Sisyphus ACL размещаются по адресу http://git.altlinux.org/acl/:

list.packages.sisyphus
Список пользователей, которым разрешена нормальная заливка каждого из пакетов
list.groups.sisyphus
Список групп пользователей

Кроме того, ACL можно посмотреть с помощью команды git.alt acl show.

По умолчанию (после первой сборки пакета и попадания его в репозиторий) ACL устанавливается в «разрешено майнтейнеру и всем кто захочет». Майнтейнером считается группа, если тэг Packager пакета установлен в <имягруппы>@packages.altlinux.org или член Team, указанный в Packager, в противном случае.

Первый пользователь в ACL является лидером пакета и может менять ACL. Кроме того, этот человек назначается ответственным за ошибки в Bugzilla для этого пакета. Остальные пользователи добавляются в CC на ошибки в Bugzilla для этого пакета.

Кроме пользователей в списке могут быть группы.

Группы[править]

Группа — это набор пользователей, вместе работающих над сборкой пакетов и поэтому для краткости обозначаемых в ACL одним словом. Названия групп начинаются с символа @.

Создаются группы вручную, с помощью отправки письма на devel@lists с указанием названия группы и начального состава группы.

Изменяется состав группы с помощью команд семейства git.alt acl её лидером — первым в списке членов группы.

@nobody[править]

@nobody — специальная псевдогруппа. После удаления всех пользователей из ACL, пакет помечается как принадлежащий @nobody. Любой пользователь может обновить пакет, принадлежащий @nobody. В этой ситуации пользователь, обновивший пакет, автоматически становится мейнтейнером этого пакета.

@everybody[править]

@everybody — специальная псевдогруппа. После добавления этой группы в ACL пакета с пакета снимаются ограничения на заливку и на NMU. Принадлежность пакета при таких заливках не меняется.

Управление ACL[править]

Управление ACL происходит с помощью команд семейства git.alt acl.

HOWTO[править]

Добавление кого-либо в ACL пакета[править]

$ ssh git.alt acl sisyphus ПАКЕТ add КТО_ТО

Передача пакета кому-то ещё[править]

$ ssh git.alt acl sisyphus ПАКЕТ leader КТО_ТО

Передача пакета в общую разработку[править]

Эта команда снимает ограничения на NMU и не-NMU заливку пакета.

$ ssh git.alt acl sisyphus ПАКЕТ add @everybody

Отказ от пакета[править]

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

$ ssh git.alt acl sisyphus ПАКЕТ show
ПАКЕТ   вася петя
$ ssh git.alt acl sisyphus ПАКЕТ del вася

Управление группами[править]

Внимание! Управлять составом группы могут только лидеры (первые в списке членов) группы.

Создание группы[править]

Вручную, письмом в список рассылки devel, с названием группы и начальным списком участников.

Добавление в группу[править]

$ ssh git.alt acl sisyphus @ГРУППА add КТО_ТО