The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Уязвимость в Polkit, позволяющая повысить свои привилегии в системе

04.06.2021 08:45

В компоненте Polkit, используемом в дистрибутивах для организации выполнения непривилегированными пользователями действий, требующих повышенных прав доступа (например, монтирования USB-накопителя), выявлена уязвимость (CVE-2021-3560), позволяющая локальному пользователю получить права root в системе. Уязвимость устранена в версии Polkit 0.119.

Проблема проявляется начиная с выпуска 0.113, но многие дистрибутивы, включая RHEL, Ubuntu, Debian и SUSE, бэкпортировали уязвимую функциональность в пакеты на основе более старых выпусков Polkit (исправления пакетов уже доступны в дистрибутивах).

Проблема проявляется в функции polkit_system_bus_name_get_creds_sync(), получающей идентификаторы (uid и pid) процесса, запрашивающего повышение привилегий. Процесс идентифицируется Polkit через присвоение уникального имени в DBus, которое в дальнейшем используется для проверки привилегий. Если процесс отключается от dbus-daemon перед самым запуском обработчика polkit_system_bus_name_get_creds_sync, то вместо уникального имени обработчик получает код ошибки.

Уязвимость вызвана тем, что возвращённый код ошибки не обрабатывается должным образом и функция polkit_system_bus_name_get_creds_sync() возвращает значение TRUE вместо FALSE, несмотря на то, что не смогла сопоставить процесс с uid/pid и проверить запрошенные для процесса привилегии. Код, из которого была вызвана функция polkit_system_bus_name_get_creds_sync(), считает, что проверка была выполнена успешно, и запрос на повышение привилегий поступил от root, а не от непривилегированного пользователя, что даёт возможность выполнить привилегированные действия без дополнительной аутентификации и подтверждения полномочий.

  1. Главная ссылка к новости (https://seclists.org/oss-sec/2...)
  2. OpenNews: Уязвимость в systemd, потенциально позволяющая повысить свои привилегии
  3. OpenNews: Уязвимость в GVFS admin, позволяющая вносить любые правки в систему без root-прав
  4. OpenNews: Представлен elogind, обособленный вариант logind, независимый от systemd
  5. OpenNews: Критическая уязвимость в библиотеке Libgcrypt 1.9.0, затрагивающая GnuPG и systemd
  6. OpenNews: Уязвимость в GDM, позволяющая получить привилегии root в Ubuntu
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/55269-polkit
Ключевые слова: polkit
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (124) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 09:38, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Ошибка логическая но виновата, конечно же сишнка. Сейчас прибегут иксперды скажут святой раст прикладывать к коду для безопасности.
     
     
  • 2.3, Аноним (3), 09:41, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +19 +/
    от логических ошибок ни один яп не защищает, все что делает хруст это верифицирует работу с памятью.
     
     
  • 3.23, Анонимъ (?), 11:06, 04/06/2021 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 4.68, Аноним (68), 15:15, 04/06/2021 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 5.76, deeaitch (ok), 16:12, 04/06/2021 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 6.90, макпыф (ok), 19:27, 04/06/2021 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 7.91, deeaitch (ok), 19:45, 04/06/2021 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 8.92, макпыф (ok), 19:47, 04/06/2021 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 9.93, deeaitch (ok), 19:54, 04/06/2021 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.67, Аноним (68), 15:13, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > все что делает хруст это верифицирует работу с памятью

    нет не делает. или память короткая?

    хруст валится на определении доступного объёма памяти и течёт (пример по первому код в лисе, по второму код в хрустоос)

     
     
  • 4.77, deeaitch (ok), 16:13, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    О, и тут растоман как ты говоришь с короткой памятью. хехе, классика фанатиков
     
  • 3.127, нах.. (?), 15:32, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И делает это все также неудачно. Мнда...
     
  • 2.5, Ыкспэрт (?), 09:48, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ошибка логическая но виновата, конечно же сишнка. Сейчас прибегут иксперды скажут святой раст прикладывать к коду для безопасности.

    Rust на 105% безопасен, возьмите и приложите его к своим творениям, немедленно! Кто-то даже говорит, что хруст помог ему от логических ошибок потому что он настолько безопасен, что автор кода думает только о логике, а не выходах за пределы отведенному его процессу сегмента памяти и прочих бэкдорах.

     
     
  • 3.21, funny.falcon (?), 10:54, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Конкретно в этом месте Rust и правда мог помочь: результат сискола был бы обёрнут в Result, и неправильно интерпретировать его было бы намного сложнее.

    На языках семейства ML (к которым пусть и с натяжкой, но можно отнести Rust) совершать логические ошибки труднее. Конечно возможно. Но не так легко.

     
     
  • 4.78, deeaitch (ok), 16:13, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    мда
     
  • 3.31, Аноним (31), 11:29, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Rust на 146% безопасен!
     
     
  • 4.69, Аноним (68), 15:17, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    чорт, 4% не хватает до нормального языка. эх.

    неосиляторы

     
  • 2.8, Аноним (8), 09:55, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Сейчас прибегут иксперды скажут святой раст прикладывать к коду для безопасности.

    Ассемблер спасёт отца демократии! Вот я что-то вообще не припомню чтобы, скажем, в той же Колибри находили какие-то уязвимости.

     
     
  • 3.13, qetuo (?), 10:15, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Еще бы колибри была кому-то нужна и где-то использовалась.
    Принцип неуловимого Джо в действии.
     
  • 2.10, нах.. (?), 10:01, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно, виновата. Переписывали бы на хрусте - нет кода, нет проблем с безопастностью!

    Причем в случае этой поделки для "какввенде" это самое лучшее решение.

     
  • 2.14, . (?), 10:17, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    В Rust не выйдет так просто проигнорировать ошибку, функция будет возвращать не bool и писать в строку юзера, а вернёт Result<User, Error>

    При этом Error так просто в User не превратить, а в случае ошибки User достать будет нельзя

     
     
  • 3.30, Совершенно другой аноним (?), 11:14, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    там не игнорировали ошибку. Судя по новости "функция polkit_system_bus_name_get_creds_sync() возвращает значение TRUE вместо FALSE, несмотря на то, что не смогла сопоставить процесс с uid/pid и проверить запрошенные для процесса привилегии".

    Судя по коду и по сделанной правке - там вызвали два асинхронных вызова к dbus и стали ждать, пока они не заполнят значения pid и uid, или пока не случится ошибка. А вот дальше, если случилась ошибка и вышли из процесса ожидания, не смогли определить по какой причине завершили ожидание. Ну и вернули TRUE вместо FALSE. Т.е ошибку проанализировали, но всё-равно так получилось, что отправились на ветку, что всё хорошо (ну или точнее не отправились на ветку, что всё плохо).

     
     
  • 4.39, Ordu (ok), 12:02, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это называется не обработали ошибку Они не проанализировали ошибку Проверка ... большой текст свёрнут, показать
     
     
  • 5.49, Совершенно другой аноним (?), 12:37, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    тут я с Вами не соглашусь - тут и анализ завершения и анализ наличия ошибки нас... большой текст свёрнут, показать
     
     
  • 6.56, Ordu (ok), 13:10, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ой, да какого хрена разница Если вернуться в начало, то вообще исходно разговор... большой текст свёрнут, показать
     
     
  • 7.57, Совершенно другой аноним (?), 13:29, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    безотносительно спора - ну как-бы о словах надо договариваться, чтобы не получил... большой текст свёрнут, показать
     
     
  • 8.99, Ordu (ok), 02:34, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Есть способ проще -- попытаться обойтись без использования этого слова Заменить... текст свёрнут, показать
     
  • 3.51, Аноним (51), 12:51, 04/06/2021 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 2.17, Аноним (17), 10:26, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это не логическая ошибка.

    Необработка ошибок (их игнорирование). И да, язык спокойно и незаметно позволяет это сделать.

    В нормальном языке программирования ты должен обязательно обработать результат функции, если он может содержать ошибочные значения. Иначе ошибка компиляции.

    Или явно, сознательно, указать что не будешь обрабатывать и игнорируешь.

    Так сделано в Zig, и вроде в Rust такз.

     
     
  • 3.26, Аноним (26), 11:08, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Для этого есть __attribute__ ((warn_unused_result)) и gcc -Wall -Werror
    но погромисты, такие погромисты.
     
     
  • 4.83, fsb4000 (?), 16:28, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    [[nodiscard]] добавили в стандарт С23. Так что можно и без вендор лока...

    https://gcc.godbolt.org/z/K69dT5qcT

     
  • 3.52, Аноним (51), 12:53, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Никто ошибку не игнорировал протри глаза.
     
  • 2.32, Аноним (31), 11:31, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Ошибка логическая но виновата, конечно же сишнка.

    [rusttroll]Ну разумеется. Надо было писать на Rust![/rusttroll]

     
  • 2.85, Full Master (?), 17:14, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >святой раст

    Компилятор которого использует LLVM, написанный на C++. И написанный на C линкер из MSVC под виндой, и LLD или LD/GOLD под юниксом.

     

  • 1.4, anonymous (??), 09:43, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Виноват не язык, виноват дизайн - столько сложностей на пустом месте просто обязаны содержать ошибки.
     
     
  • 2.11, Michael Shigorin (ok), 10:07, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Вот да.  Того, кто туда потащил ещё и js -- проектировать надо учить "по морде чайником, и самоваром, и паяльником".  И то у бегемота шансы выше.
     
     
  • 3.20, хацкер (??), 10:52, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Михаил, может поумерите свой модераторский пыл уже?
     
     
  • 4.33, Michael Shigorin (ok), 11:38, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Думаю, это всё же Вам следует открыть для себя ссылку "лог модерирования" (внизу справа под комментариями к полному тексту новости): http://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi?az=list&forum=vsluhfor
     
     
  • 5.54, хацкер (??), 13:05, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    тем не менее))
     
     
  • 6.144, Michael Shigorin (ok), 19:32, 03/07/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > тем не менее))

    ладно :)

     
  • 3.38, Аноним (31), 11:59, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так в Polkit притащили уже давно - spydermonkey.
     
     
  • 4.75, Аноним (75), 16:09, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Шигорин об этом и говорит, по-моему. И ладно бы ещё просто захотелось писать программируемые рулесы вместо старого ini формата (или там xml был, не помню уже за двностью), но нахрена же было тащить кусок браузера в 300 мегабайт, будто прогрессивное человечество не придумало других языков, которые легко в сишный код встраиваются (луа? не, не слышали).
     
     
  • 5.132, mikhailnov (ok), 18:26, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >  кусок браузера в 300 мегабайт

    $ rpm -q --qf '%{size}\n' lib64mozjs78_78-78.9.0-1.x86_64
    14030436

    14, а не 300

     
     
  • 6.136, n00by (ok), 07:42, 06/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >>  кусок браузера в 300 мегабайт
    > $ rpm -q --qf '%{size}\n' lib64mozjs78_78-78.9.0-1.x86_64
    > 14030436
    > 14, а не 300

    У тебя #define в Си объявляет переменную и размер кучи ты прикинуть не можешь, потому для тебя существенна разница меж 14 и 300 метрами исполняемого файла, без учёта его зависимостей.

    А речь была о том, что незачем тащить ненужные мегабайты, когда хватило бы 200-300 Кб, а то и 50.

     
  • 3.131, Аноним (131), 18:04, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.linux.org.ru/forum/security/15600248?cid=15622030

    Уважаемому Потерингу необходимо было сделать:
    1. Придумать формат правил контроля доступа
    2. Написать компилятор этих правил.
    А для этого надо талант, время и деньги...

    Потеринг не сделал ничего, взял Java Script и его компилятор от Mozilla. А вы это "оно" жуйте и глотайте.

    Миша, а когда, всеми любимый ALT Linux избавится от systemd, dbus, polkitd+JS?

     
  • 2.36, Andrey (??), 11:50, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Коль скоро C-шечка даёт свободу делать дизайн API плохим, он и дальше будет в среднем не очень.
     
     
  • 3.53, Аноним (51), 12:55, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Коль в срасту подпускают вебмакак. Они так и продолжат делать дизайн плохим. И язык им прям совсем никак не помешает это сделать.
     

  • 1.9, Lex (??), 09:55, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > В компоненте, используемом для организации выполнения непривилегированными пользователями действий, требующих повышенных прав доступа, выявлена уязвимость, позволяющая локальному пользователю получить права root в системе

    Ну кто бы мог подумать

     
  • 1.12, Anonymoustus (ok), 10:11, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все десктоперские метастазы, которые породила Шляпа за прошедшие четверть века, заведомо небезопасны и принципиально не могут быть безопасными. Но мышки продолжают жевать этот горький десктоперский кактус и нахваливать, а не пользоваться традиционными консольными средствами с умом и пониманием.
     
     
  • 2.97, макпыф (ok), 23:03, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    и шрифт liberation тоже не безопасный?


    Кстати, полкит - продукт редхата?

     
     
  • 3.101, Anonymoustus (ok), 06:10, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    fd.o — продукт Редхата. Всё, что выходит из этой выгребной ямы и её окрестностей, включая системду — продукты Шляпы. А сама Шляпа с конца девяностных на довольствии у Межделмаша. Но вы, конечно, продолжайте верить в свободу и сообщество.
     
     
  • 4.102, макпыф (ok), 08:14, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > fd.o — продукт Редхата. Всё, что выходит из этой выгребной ямы и её
    > окрестностей, включая системду — продукты Шляпы. А сама Шляпа с конца девяностных
    > на довольствии у Межделмаша. Но вы, конечно, продолжайте верить в свободу
    > и сообщество.

    systemd кстати к fd.o не относиться, она просто редхатом разрабатывается (хотя Пёттеринг её создал до того как стал в редхате работать)

    а так полкит вещь на мой взгляд очень дурацкая, хотя полезные применения имеет. Но зачем там js

    надо будет попытаться её выкинуть из мое ОС

     
     
  • 5.103, Anonymoustus (ok), 08:36, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не важно, во скольких коробках лежат редхатовские бирюльки, хозяин один и тот же.
     

  • 1.15, kusb (?), 10:21, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Усложнения, усложнения не меняются.
    А способа например просто записать в файл от рута в программе не от рута так и нет. Вообще привелегии "всё или ничего" это плохо.
    Текстовому редактору например достаточно спросить разрешение на запись одного файла при попытке это сделать при сохранении... И не перезапускаться даже.
     
     
  • 2.37, n00by (ok), 11:54, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Текстовому редактору например достаточно спросить разрешение на запись одного файла при
    > попытке это сделать при сохранении... И не перезапускаться даже.

    Необходимо, что бы подобное разрешение запрашивала система. Получается UAC. При этом в сеансе Иксов такой запрос как раз будет обходим.

     
  • 2.43, Аноним (31), 12:11, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Вообще привелегии "всё или ничего" это плохо.

    Привилегии "частично" реализуются Linux Capabilities.

     
     
  • 3.48, нах.. (?), 12:27, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    образуя дыру, угу. Которой бы не было, если бы юникс-программа работала как юникс-программа.

    Нет, конечно же лет через пятьдесят все поперепишут на хруст и научатся сбрасывать излишние капабилити. (Нет. Но простой и внятно работающий софт изведут окончательно, точно.)

     
     
  • 4.55, Аноним (31), 13:10, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как будто, в прграммах c suid'ом дыр не бывает. Поэтому capabilities и замутили.
     
  • 2.47, нах.. (?), 12:24, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это юникс, чувак.
    Если кому-то нужна была винда - надо было просто не выпендриваться и ставить винду.

    А вы налепили костылей и подпорочек.

    > Текстовому редактору например достаточно спросить разрешение

    текстовому редактору чтобы было достаточно "спросить" - нужно уже иметь эту возможнось. Получаем текстовый редактор, имеющий возможность делать ВСЁ. И прикрытую фиговым листиком "спросить".

    Вот тебе и результаты, собственно.

     
     
  • 3.87, kusb (?), 18:17, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Это юникс, чувак.
    > Если кому-то нужна была винда - надо было просто не выпендриваться и
    > ставить винду.
    > А вы налепили костылей и подпорочек.
    >> Текстовому редактору например достаточно спросить разрешение
    > текстовому редактору чтобы было достаточно "спросить" - нужно уже иметь эту возможнось.
    > Получаем текстовый редактор, имеющий возможность делать ВСЁ. И прикрытую фиговым листиком
    > "спросить".
    > Вот тебе и результаты, собственно.

    Ну вся суть, что он не должен спрашивать, он должен просто записывать файл, как обычно.

     
     
  • 4.88, kusb (?), 18:23, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В принципе диалог сохранения может быть отдельной программой с отдельными правами, а без вызова этой программы текстовый редактор не мог бы записать файл вообще никак. Нет вызова "сохранить файл", вызов программы сохранения это единственный легитимный способ и это и есть api сохранения файла. И аргументы командной строки связаны с бинарным интерфейсом.
    Опять что-то ещё более страшное горожу? Хочу победить сложность и неадекватность, но придумываю свою сложность и неадекватность? Эх. Всё хорошо, пока системы поддерживают простыми, но потом начинается.
     
     
  • 5.140, Аноним (-), 20:43, 09/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    пусть нейросеть решает (или спор ИИ): запаха нет, плюсы на опеннет, вовремя апгрейдил - кредит доверия на запись в /etc.
     
     
  • 6.141, kusb (?), 20:57, 09/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > пусть нейросеть решает (или спор ИИ): запаха нет, плюсы на опеннет, вовремя
    > апгрейдил - кредит доверия на запись в /etc.

    Не верю в непонятность слов.

     
  • 2.133, mikhailnov (ok), 18:27, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А способа например просто записать в файл от рута в программе не от рута так и нет.

    Есть: https://www.opennet.dev/opennews/art.shtml?num=49871

     

  • 1.16, Аноним (16), 10:22, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >> В компоненте Polkit, используемом в дистрибутивах для организации выполнения непривилегированными пользователями действий, требующих повышенных прав доступа найдена уязвимость, позволяющая повысить свои привилегии в системе

    Что? Корова купленная для молока дала молоко?

     
  • 1.18, слакварявод (ok), 10:29, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ну просто поооолный пэээ...
    Сколько можно-то?
     
  • 1.19, lockywolf (ok), 10:43, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Так polkit  же и нужен для получения прав рута.

    Получается, программа просто делает свою работу.

     
     
  • 2.42, Andrey (??), 12:10, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Он как раз нужен, чтобы права рута не давать, а одобрить определённое действие из ограниченного набора, которое для пользователя сделает уже привилегированная программа.
     
     
  • 3.89, kusb (?), 18:26, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Он как раз нужен, чтобы права рута не давать, а одобрить определённое
    > действие из ограниченного набора, которое для пользователя сделает уже привилегированная
    > программа.

    Почему нельзя просто запускать привелегированный скрипт без возможности изменить его?

     
     
  • 4.137, Andrey (??), 12:07, 07/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Почему нельзя просто запускать привелегированный скрипт без возможности изменить его?

    1. У такого решения меньше гибкости.
    2. Если предполагается много разных действий, понадобится либо несколько привилегированных скриптов, либо передавать туда аргументы, что в контексте интерпретируемых языков идея рискованная.
    3. В policykit можно, например, для определённых действий затребовать у юзера авторизоваться как пользователь, а не обязательно как администратор.
    4. Можно для разных действий установить разные правила хранения авторизаций при их повторном запросе.

    В общем, см. тут: https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html

     

  • 1.22, InuYasha (??), 11:02, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Всегда удивляет нечистоплотность программистов в критичных програмах. Для чего функции что-то возвращают? Чтобы в пустоту исчезло?
    Всю жизнь твердили:

    1. проверить данные
    2. вызвать функцию
    3. проверить результат

    [CODE]if (pData)
    {
        if (SomeProcessing(pData) == SUCCESS)
            WeHaveAWinner();
    }
    [/CODE]

     
     
  • 2.24, Аноним (24), 11:07, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > if (SomeProcessing(pData) == SUCCESS)

    Главное, чтобы это был не PHP...

     
  • 2.27, Бабушка Анонима (?), 11:08, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну это же очевидно, надо просто вывести идеальных генно-модифицированных программистов, которые будут писать код без ошибок. Почему до сих пор не сделали?
     
  • 2.29, Аноним (26), 11:09, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Палишься, вендузятник, ой как палишься.
     
  • 2.35, Аноним (31), 11:43, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А зачем тогда жаловаться, что, например, Pascal и D проверяют границы массивов автоматически?
     
     
  • 3.41, InuYasha (??), 12:05, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А кто жалуется? Я просто на них не пишу ) Ну, и толку в проде, что они проверяют? Разве что, контролируемый крэш, что полезно при отладке. Логика алгоритма всё равно зависит от того, как выход за границы будет обработан.
     
     
  • 4.100, HyC (?), 03:41, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А если логика написана так что выход за границы массива при некоторых условиях оказался не обработан а должен бы был ? Пускай уж лучше крэшится чем молча за границу выйдет и хрен пойми что натворит.
     
  • 3.80, deeaitch (ok), 16:22, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С разморозкой. C++ тоже контролирует
     
     
  • 4.124, Аноним (124), 14:34, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так, здесь по подробней. Специально проверял array<>, выходит за границы. Или я не то использую, чтоб контролируемо было?
     
     
  • 5.129, n00by (ok), 16:05, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вы не показываете код, но просите угадать.

    The member function at() provides bounds-checked access to container elements. at() throws out_of_range if n >= a.size().

     
     
  • 6.142, Аноним (31), 12:43, 10/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо. Я объект класса array индексировал [].
     
     
  • 7.143, n00by (ok), 16:20, 10/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Специально предоставлено оба варианта, т.к. operator[] иногда чуть быстрее.
     
  • 5.139, deeaitch (ok), 15:35, 09/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Так, здесь по подробней. Специально проверял array<>, выходит за границы. Или я
    > не то использую, чтоб контролируемо было?

    .at()

     
  • 2.40, Аноним (40), 12:02, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Крамольные вещи пишите... Если все программисты будут так писать, то даже сектанты раста начнут понимать, что он не нужен.
     

  • 1.34, Аноним (31), 11:40, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Кто в курсе, зачем Polkit'у зависимость от Spydermonkey?
     
     
  • 2.44, Аноним84701 (ok), 12:16, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Кто в курсе, зачем Polkit'у зависимость от Spydermonkey?

    https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
    > Rules files are written in the JavaScript programming language and interface with polkitd through the global polkit object (of type Polkit).




    polkit.addRule(function(action, subject) {
        if (action.id == "org.freedesktop.accounts.user-administration" &&
            subject.isInGroup("admin")) {
            return polkit.Result.YES;
        }
    });


     
  • 2.45, abi (?), 12:20, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я так понимаю, они правила на нём пишут
    https://cgit.freedesktop.org/polkit/tree/src/polkitbackend/50-default.rules
     
     
  • 3.50, Аноним (31), 12:49, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Мда, ещё одна бомба замедленного действия. А аналога Polkit не существует?
     
     
  • 4.63, Аноним (68), 15:05, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    аналог и не нужен. штатных средств системы достаточно
     

  • 1.58, любитель_раста (?), 14:01, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    уж сколько я не люблю раст, а он бы тут не помог бы. потому что раст - гораздо сложнее чем си, а мы уже знаем, что усложнение языка - плохо влияет на головы любителей раста.

    по-этому, как любитель раста, авторитетно заявляю, что тут больше подошёл бы замечательный язык D (Ди - пря мо, как "леди Ди").

     
     
  • 2.61, Аноним (68), 15:03, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше не заявляй. Здесь проблема в ДНК вендузятников. Это им по каждому чиху сервис нужен. Потому что не в состоянии осилить маны.

    Штатные средства системы со всем этим как справлялись так и справлются просто на ура. Это поделье вообще не нужно.

     

  • 1.59, Аноним (68), 14:56, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Не пользовал не пользую и не собираюсь пользовать. Штатные средства системы прекрасно справлялись со всем и без этого поделия набежавших вендузятников
     
     
  • 2.125, Аноним (124), 14:42, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Но от Polkit Кеды зависят. От Кедов отказываться не предлагать. Или их таки можно отвязать?
     
     
  • 3.135, макпыф (ok), 21:58, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Но от Polkit Кеды зависят. От Кедов отказываться не предлагать. Или их
    > таки можно отвязать?

    если собирать из исхов то наверно да. А если нет - то нельзя т.к. полкит это впервую очередь либа и если с ней что то слинкованно -только пересборка


    ну и мб там только 1-2 не очень важных компонента зависят - тогда да

     

  • 1.60, Аноним (68), 14:59, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > polkit_system_bus_name_get_creds_sync()

    Чего?

    А ну да, вендузятники

    we_are_windows_stupid_programmers_we_do_knows_nothin_but_we_want_to_be_cool_linux_programmers_rust_forever_hohoho_we_are_idiots(true)

     
     
  • 2.71, Совершенно другой аноним (?), 15:32, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> polkit_system_bus_name_get_creds_sync()
    > А ну да, вендузятники
    > we_are_windows_stupid_programmers_we_do_knows_nothin_but_we_want_to_be_cool_linux_programmers_rust_forever_hohoho_we_are_idiots(true)

    ну, у "вендузятников" был-бы CamelCase:
    WeAreWindowsStupidProgrammersWeDoKnowsNothinButWeWantToBeCoolLinuxProgrammersRustForeverHohohoWeAreIdiots(true).

     
     
  • 3.82, deeaitch (ok), 16:24, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    точняк
     
     
  • 4.95, Аноним (16), 22:56, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Всяко лучше чем __с2_to_f()
     

  • 1.84, Аноним (84), 17:08, 04/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Этот дырявый линукс...
     
     
  • 2.86, Аноним (86), 17:34, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я каких пор polkit считается куском ядра?
     
     
  • 3.96, Аноним (16), 22:57, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    С тех пор как системд
     
     
  • 4.98, макпыф (ok), 23:07, 04/06/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    системд не зависит и не требует полкит и частью ядра не являеться

    и полкит от системд тоже не зависит

     
     
  • 5.105, Аноним (105), 12:01, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    линукс меньше системд чем полкит.
     
     
  • 6.106, макпыф (ok), 12:02, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > линукс меньше системд чем полкит.

    всмысле?

     
     
  • 7.108, Аноним (105), 12:04, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    можно заменить системд на линуксе, но нельзя полкит.
     
     
  • 8.109, макпыф (ok), 12:06, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    но можно от него избавиться... текст свёрнут, показать
     
     
  • 9.112, Аноним (105), 12:11, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    угу, и ничего не будет работать потому что альтернативы какой-либо не существует... текст свёрнут, показать
     
     
  • 10.114, макпыф (ok), 12:14, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    что не будет работать полкит ничего важного не делает, нужен только чтоб хомяч... текст свёрнут, показать
     
     
  • 11.115, Аноним (105), 12:35, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    этого мало программы для работы с дисками от него зависят, да и утомительно каж... текст свёрнут, показать
     
     
  • 12.116, макпыф (ok), 12:39, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    gvfs от полкита не зависит, думаю что он всегда под рутом работает Какие програ... текст свёрнут, показать
     
     
  • 13.117, Аноним (105), 12:44, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    мимо, gvfs без полкита и udisks работать не будет сам по себе gvfs ещё в тысячу... текст свёрнут, показать
     
     
  • 14.118, макпыф (ok), 12:54, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    https www linuxfromscratch org blfs view systemd gnome gvfs html Required dbu... текст свёрнут, показать
     
     
  • 15.119, Аноним (105), 12:57, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    не устанавливать никакие de и никакой софт, только пердолиться со всем ну, это,... текст свёрнут, показать
     
     
  • 16.120, макпыф (ok), 13:00, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    что мешает устанавливать de и софт и помойму вполне себе можно любой аудио файл ... текст свёрнут, показать
     
     
  • 17.130, Аноним (105), 17:58, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    но ведь плеер это далеко не только воспроизведение, а так да если устанавливать... текст свёрнут, показать
     
     
  • 18.134, макпыф (ok), 21:54, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    они просто не соберутся, если нет зависимости но ПО которое требует полкит не м... текст свёрнут, показать
     
  • 15.121, Аноним (105), 13:02, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    это будет gvfs который только для бэкдора, и как максимум сливает телеметрию и б... текст свёрнут, показать
     
     
  • 16.122, макпыф (ok), 13:07, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    какая телеметрия можно можно также и не обязательные зависимости использовать ... текст свёрнут, показать
     
  • 6.107, Аноним (105), 12:03, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    не так. полкит больше линукс, чем системд.
     
     
  • 7.110, макпыф (ok), 12:07, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > не так. полкит больше линукс, чем системд.

    линукс - https://www.kernel.org/

    а демон на жс не как не заменяет его

     
     
  • 8.111, Аноним (105), 12:10, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    линукс это общее название операционных систем на базе ядра линукс, обычно под эт... текст свёрнут, показать
     
     
  • 9.113, макпыф (ok), 12:11, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    если вы про ОС как набор компонентов то все примерно тоже самое - полкит его не ... текст свёрнут, показать
     
  • 4.126, Аноним (124), 14:44, 05/06/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >С тех пор как системд

    Тьфу-тьфу-тьфу, это овно ещё не ядре.

     

  • 1.104, Аноним (104), 11:28, 05/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Шо опять не на расте?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру