feat: migrate to system cache with changing core logic #66

Merged
xpamych merged 1 commits from Maks1mS/ALR:migrate-to-global-cache into master 2025-04-15 19:38:58 +00:00
Contributor

Кратко из важного:

  1. alr устанавливается с cap_setuid,cap_setgid. Для работы необходим bindfs (используется только в команде build)

А так же:

cat /etc/passwd | grep alr
alr:x:967:929::/var/cache/alr:/bin/bash
ls -lda /var/cache/alr
drwxr-xr-x 1 alr alr 24 апр 15 22:17 /var/cache/alr
ls -lda /etc/alr
drwxr-xr-x 1 root root 16 апр 12 15:05 /etc/alr

2.. rootCmd больше нет, т.к. alr сам отвечает за права
3. команды с записью требуют root (addrepo, install и т.д.). Исключением на данный момент являются refresh и fix
4. команды на чтение (info, ls и т.д.) этого не требуют
5. build как самая сомнительная по безопасности команда (как минимум, читает текущий каталог пользователя) требует принадлежность к группе wheel.
6. Пользовательский конфиг в локальной директории на данный момент не используется, но может быть добавлен в дальнейшем.

P.S: для сохранения исходной (а может даже и улучшения) безопасности используется ряд мер, такие как понижение привилегий насколько рано возможно, no_new_privs, проверки на root и пр. Для работы fakeroot и возможности установки во время сборки эти части запускаются отдельными процессами, которые связываются через hashicorp/go-plugin.

Кратко из важного: 1. alr устанавливается с cap_setuid,cap_setgid. Для работы необходим bindfs (используется только в команде build) А так же: ``` cat /etc/passwd | grep alr alr:x:967:929::/var/cache/alr:/bin/bash ls -lda /var/cache/alr drwxr-xr-x 1 alr alr 24 апр 15 22:17 /var/cache/alr ls -lda /etc/alr drwxr-xr-x 1 root root 16 апр 12 15:05 /etc/alr ``` 2.. rootCmd больше нет, т.к. alr сам отвечает за права 3. команды с записью требуют root (addrepo, install и т.д.). Исключением на данный момент являются refresh и fix 4. команды на чтение (info, ls и т.д.) этого не требуют 5. build как самая сомнительная по безопасности команда (как минимум, читает текущий каталог пользователя) требует принадлежность к группе wheel. 6. Пользовательский конфиг в локальной директории на данный момент не используется, но может быть добавлен в дальнейшем. P.S: для сохранения исходной (а может даже и улучшения) безопасности используется ряд мер, такие как понижение привилегий насколько рано возможно, no_new_privs, проверки на root и пр. Для работы fakeroot и возможности установки во время сборки эти части запускаются отдельными процессами, которые связываются через hashicorp/go-plugin.
Maks1mS added 1 commit 2025-04-15 19:28:33 +00:00
xpamych merged commit 3483cf57f8 into master 2025-04-15 19:38:58 +00:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Plemya-x/ALR#66
No description provided.