ACL

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

С каждым пакетом в Сизифе связан ACL — список пользователей, которые могут залить регулярный пакет в incoming или запустить сборку с помощью git.alt, и список пользователей, которые могут залить/собрать пакет как NMU. Для NMU дополнительно указывается интервал действия разрешения.

ACL

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

list.packages.sisyphus
Список пользователей, которым разрешена нормальная заливка каждого из пакетов
list.nmu.sisyphus
Список пользователей, которым разрешён NMU на заливку указанных пакетов, unixtime начала действия разрешения и опциональный unixtime окончания действия разрешения.

Кроме того, ACL доступен в SSH-интерфейсе git.alt, в команде acl show.

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

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

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

Группы

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

Текущий список групп Сизифа размещается по адресу http://git.altlinux.org/acl/list.groups.sisyphus, а также доступен в SSH-интерфейсе git.alt, в команде acl show.

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

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

@nobody

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

@everybody

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

Управление ACL

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

HOWTO

Добавление кого-либо в ACL пакета

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

Передача пакета кому-то ещё

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

Выдача NMU на пакет

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

Отказ от пакета

Эта команда снимает ограничения на NMU и не-NMU заливку пакета. После следующей заливки заливающий будет объявлен майнтайнером пакета и ACL на пакет будет сброшен.

$ ssh git.alt acl sisyphus ПАКЕТ del '#all'

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

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

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

Управление группами

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

Создание группы

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

Добавление в группу

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