URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 138638
[ Назад ]

Исходное сообщение
"Представлен capsudo, вариант sudo с разделением полномочий на уровне объектов"

Отправлено opennews , 13-Дек-25 12:40 
Ариадна Конилл (Ariadne Conill), создатель музыкального проигрывателя Audacious и композитного сервера Wayback, инициатор разработки протокола IRCv3 и лидер команды по обеспечению безопасности Alpine Linux, развивает инструментарий capsudo для выполнению команд с повышенными привилегиями. В отличие от sudo в новом проекте задействована модель предоставления полномочий на уровне отдельных объектов (object-capability). Код проекта написан на языке Си и распространяется под лицензией MIT...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=64420


Содержание

Сообщения в этом обсуждении
"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 12:40 
Но зачем?

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 12:42 
Ну а почему бы и нет?

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 12:44 
Действительно, зря быканул.

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Кошкажена , 13-Дек-25 14:33 
Можно, а зачем? (с)

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 12:59 
На замену sudo есть run0.
Вот людям неймется. Уж лучше бы wayback доделывал.

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 13:07 
а на замену run0 есть безопасный sudo-rs

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 14-Дек-25 03:30 
> безопасный sudo-rs

безопасно не работает


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Kilrathi , 13-Дек-25 13:16 
А умеющие читать и писать просто пропишут нужные пользователю команды в sudoers.d

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено User , 13-Дек-25 14:52 
И Вася пупкин без труда получит root'a, ага. Не "опять", а "снова".

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Kilrathi , 13-Дек-25 15:26 
> И Вася пупкин без труда получит root'a, ага. Не "опять", а "снова".

Зависит от того на что выдавать. Если на /sbin/reboot, который без рута не подменить - это вряд ли.
А если на /usr/local/mc - то без разницы чем выдавать привилегии запуска: через sudo, doas, capsudo или run0.



"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено User , 13-Дек-25 18:30 
>> И Вася пупкин без труда получит root'a, ага. Не "опять", а "снова".
> Зависит от того на что выдавать. Если на /sbin/reboot, который без рута
> не подменить - это вряд ли.
> А если на /usr/local/mc - то без разницы чем выдавать привилегии запуска:
> через sudo, doas, capsudo или run0.

В последнем cve даже и "давать" ничего не требовалось, ага


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 20:01 
В прошедшем времени. А в "заменителях" всё ещё только впереди.

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Kilrathi , 13-Дек-25 23:29 
> В прошедшем времени. А в "заменителях" всё ещё только впереди.

Ну почему же только впереди,  недавно здесь же обсуждали cve у sudo-rs.


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено User , 14-Дек-25 08:23 
>> В прошедшем времени. А в "заменителях" всё ещё только впереди.
> Ну почему же только впереди,  недавно здесь же обсуждали cve у
> sudo-rs.

Это тот, где "если пароль ввести и enter не нажать, то через полчаса его подглядеть можно"? А, ну да, ну да - кшмаррр и ужаст!


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 13:04 
давайте напишем системный демон и запустим от рута, осталось только прикрутить сеть и выставить голой опой, и вуаля хороший судо, запускай хоть с марса :) оригинально

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 13:08 
Принцип KISS (Keep it simple, stupid) в лучших проявлениях. Но не взлетит, так как не дело  по отдельному демону на каждую команду в памяти держать, а создание одного общего диспетчера сведёт на нет всю простоту и приведёт к появлению ещё одного Polkit.

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 14:33 
С этой утилитой нужно будет писать "$ capsudo -i"?

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено mos87 , 13-Дек-25 14:47 
Из недостатков sudo ... недекларативный формат конфигурации

>чтобы повторить поведение sudo и разрешить выполнение с повышенными >привилегиями любых приложений для пользователей, входящих в группу >wheel, можно использовать следующие настройки:
>
>
>   # mkdir -p /run/cap
>   # capsudod -s /run/cap/sudo-capability &
>   # chgrp wheel /run/cap/sudo-capability
>   # chmod 770 /run/cap/sudo-capability
>  
>   $ capsudo -s /run/cap/sudo-capability


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено пох. , 13-Дек-25 19:01 
В общем, у альпайна похоже все плохо с безопасностью.
(конечно, от недолинукса для запуска в докере под докером никто и не ждал, но все же...)

Да, с форматом конфигурации тут просто все прекрасно - как после этого выяснить кому и что мы наразрешали - искать по всей системе стремные сокеты?

Про то что в этом наборе команд race condition - щпециалист(ка?) по безопастносте похоже даже не знает.
(ага, чмод. После создания. И что же мне помешало уже открыть этот сокет, пока шпециалистко крашенными когтями свой чмод набирает? Отдельный вопрос кто их учил давать права на исполнение - сокетам?)


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено RM , 14-Дек-25 02:50 
> искать по всей системе стремные сокеты?

искать capsudod процессы, а в их коммандной строке видно все активные "стрёмные сокеты".

> И что же мне помешало уже открыть этот сокет

umask пользователя root в нормальной системе не даст открыть на запись.

хотя в общем конечно этот capsudo оставляет ощущение имено что стрёмное.

но ниче, вреднят, первый раз что-ли ;)


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 14:49 
Вставь чужой sudo в свою систему - дай удаленный доступ в свою систему!

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 14:55 
> Например, чтобы предоставить какому-то пользователю возможность запуска утилиты reboot с повышенными привилегиями, администратор может

написать в doas.conf:

permit user1 as root cmd reboot


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 15:18 
У меня почему-то doas не работал. Вернулся обратно на sudo.

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Frestein , 13-Дек-25 16:03 
Хорошо, держи в курсе.

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено scriptkiddis , 13-Дек-25 16:55 
Хорошо, держу в курсе.

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 18:02 
Не проблема. Я могу рассказать, что я не пробовал ни doas, ни sudo и они никогда у меня не работали поэтому. Тебе всё ещё интересно? Я могу ещё рассказать про утилиты из coreutils, которые я использовал и которые я считаю лишними там.

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 17:51 
У sudo раздутая кодовая база, поэтому надо сделать отдельного демона, который будет делать всё то же самое, плюс ещё тащить в себе код для обмена данными через сокет, и к нему ещё клиентскую утилиту.
> Только пользователи, имеющие доступ к сокету, могут выполнять привязанные к сокету привилегированные команды.

И чем это лучше suid-root процесса, который проверяет "кто меня запустил"?
> администратор может создать в домашнем каталоге заданного пользователя сокет "reboot-capability", привязать его к запуску утилиты reboot и на уровне прав доступа разрешить запись в сокет только необходимому пользователю. После этого данный пользователь сможет запустить команду reboot, выполнив "capsudo -s reboot-capability".

То есть, кроме нового геморроя с сокетами для админа, ещё и юзверям переучиваться вместо привычных утилит запускать какую-то новую хрень (или держать актуальный список алиасов в rc'шнике).


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Karl , 13-Дек-25 18:35 
Ну вот ЗАЧЕМ??? В принципе sudo есть зло абсолютное! Его не должно существовать! Жили без него - отлично.

Всегда юзер должен быть юзер, админ должен быть админ

И никакого "повышения полномочий"! Это ИЗВРАЩЕНИЕ, как зараза подхваченное у Микрософта


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 18:56 
Есиь юзер dba, ему надо сделать бэкап БД, работающей от юзера db. Рассказывай, как без механизмов повышения привилегий это сделать.

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Karl , 13-Дек-25 19:18 
> Есиь юзер dba, ему надо сделать бэкап БД, работающей от юзера db.
> Рассказывай, как без механизмов повышения привилегий это сделать.

dba может иметь разные значения, среди них:
a) Доктор делового администрирования (англ. Doctor of Business Administration).
b) Администратор баз данных (англ. Database administrator).
c) dBA — единица измерения громкости звука.
d) DBA (Disc Brakes Australia) — австралийский производитель тормозных дисков для легковых автомобилей.
e) DBA (Double Bend Achromat) — тип фокусирующей структуры синхротронов.
f) DarkBASIC (.dba формат) — компьютерный язык и связанная с ним среда программирования, предназначенные для упрощения создания 3D-видеоигр.
g) Dallas Bar Association — профессиональная организация для юристов в Далласе, Техас, США.
h) The Barge Association, ранее «Dutch Barge Association» (DBA) — клуб для любителей отдыха на внутренних водных путях Европы

Вы сейчас о чём? О правах на СУБД? Ну так и говорите. Причём тут именно повышение прав? Или вы ни в одной нормальной Unix+ OS не работали, кроме Mint?


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 20:41 
Из контекста же прекрасно понятно о чем речь. Если только вы не самозванец.

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Karl , 13-Дек-25 21:55 
> Из контекста же прекрасно понятно о чем речь. Если только вы не
> самозванец.

Было бы понятно, не спрашивал бы уточнения


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 14-Дек-25 01:22 
Вообще-то аббревиатура DBA в контексте системного администрирования должна быть понятна без пояснений

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 20:12 
На утилиту бэкапа - CAP_DAC_READ_SEARCH (https://www.man7.org/linux/man-pages/man7/capabilities.7.html)
Плюс, DAC/ACL для ограничения доступа пользователей к утилите.
Желательно, чтобы у утилиты не было доступа к сети, и она писала бэкап локально в единственную доступную для записи директорию. Откуда готовый (шифрованный) бэкап разносился на резервные (удаленные) сервисы другой утилитой сетевого копирования (rsync/rclone), у которой на локальной машине чтение и запись также ограничены.
Ещё больше обезопасить утилиты можно, применяя landlock в их коде.

Но и у sudo пока есть своя ниша.


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 21:19 
> dba
> db

Раздвоеие личности надо лечить, а не обмазываться паллиативами типа sudo.


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 14-Дек-25 01:35 
Так у юзера db в качестве оболочки /sbin/nologin указан, потому что по условию задачи это пользователь, под которым работает БД, системный, с uid < 1000.

А DBA ходит в систему как обычный юзер dba.


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Kilrathi , 13-Дек-25 23:34 
> Есиь юзер dba, ему надо сделать бэкап БД, работающей от юзера db.
> Рассказывай, как без механизмов повышения привилегий это сделать.

Например sql-дампом через localhost в свой home и дальше на резервное хранилище


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 14-Дек-25 00:48 
идиотизм считать скул дампы бекапами.

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 14-Дек-25 01:24 
Два чая этому анониму

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Kilrathi , 14-Дек-25 02:00 
> идиотизм считать скул дампы бекапами.

Только если вы из адептов «для резервирования каталога документов надо забакапить целиком весь сервак»


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 14-Дек-25 16:01 
Для резервирования каталога документов хорошо бы чтобы в этот момент туда никто не писал, в первую очередь.

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 14-Дек-25 00:46 
> Рассказывай, как без механизмов повышения привилегий это сделать.

механизм бекапа это механизм рсубд, а не прихоть пользователя, настраиваешь конфиг, делай бекап той-то базы в такое-то время и все, зачем еще юзеры какие-то?


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 19:38 
>Всегда ... админ должен быть админ
>И никакого "повышения полномочий"!

Абсолютное непонимание базовых основ безопасности!
Запомните, юноша, админ (человек) основную часть времени *должен* работать как простой юзер (без превилегий) и только в самых *необходимых* случаях повышать привилегии до админа.


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 21:23 
> повышать привилегии до админа

su


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 21:15 
Хотят сделать как в винде. То есть, по умному.

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено нах. , 14-Дек-25 01:15 
но винды (как обычно у этих больных на всю голову) не видели даже через чужое плечо.
Поэтому получается - хрень. Как всегда.

(нет в винде никаких бредовых сокетов по всей фс, угадай-куда-я-его-запрятал и какие права он дает если его кто-то нашел)


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 13-Дек-25 23:54 
Когда завезут в systemd?  

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 14-Дек-25 15:57 
В systemd завезли run0

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено _ , 14-Дек-25 02:05 
А в реальности будет:
# capsudod -s /home/user/alfaman-capability bash &
# chown user:user /home/user/alfaman-capability
# chmod 700 /home/user/alfaman-capability

# запускаем ништяк командой:
$ capsudo -s /home/user/alfaman-capability

Удобно жи?! Удобно!
И кроме этого - другие сокеты можно уже и не создавать! Ещё раз удобно!
Вы там аффтарке передайте :)


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 14-Дек-25 14:47 
Не нужно умножать сущности без необходимости. На уровне идеи sudo совершенен. Надеюсь, проект не взлетит.

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено myster , 15-Дек-25 00:47 
Ну с sudo именно так и делают. Многие администраторы даже не видят разницы между беспарольным доступом через sudo и доступом с паролем, и делают всегда без пароля – "Удобно жи?! Удобно!"

А при установке того же Docker, им везде пишут: не добавляйте своего пользователя в группу docker бездумно. Но все добавляют обычного пользователя в группу docker и при этом ссылаются на официальную инструкцию Docker, где, якобы, Docker это рекомендует. А жирное выделенное красным цветом предупреждение там же они игнорируют:  "Warning: The docker group grants root-level privileges to the user."


"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено Аноним , 14-Дек-25 20:26 
Интересно, насколько можно управлять правилами - разрешить запуск только с определёнными аргументами? И как с этим у альтернатив

"Представлен capsudo, вариант sudo с разделением полномочий н..."
Отправлено myster , 15-Дек-25 00:50 
Плюс от такого инструмента будет, однозначно. Но это должно поддерживаться на уровне ядра и не так стрёмно, как ACL. Многие не используют ACL в Linux, потому что оно кривое и через пень-колоду работает. А в той же винде ACL из коробки прекрасно, как бы винду не хаили, но за это Билла Гейтса можно и похвалить, придумал в 90-х ещё для NT и работает по сей день, как часы.