История изменений
Исправление
kirk_johnson,
(текущая версия)
:
Их программный продукт работает правильно:
спрашивает у polkit, можно ли пользователю запустить данную операцию;
получает ответ, что можно;
запускает операцию.
В чём здесь, по-вашему, ошибка?
В классической ошибке программиста. Фича заключается не в том, чтобы у polkit'а спросить, а в том, чтобы сделать возможным выполнение привилегированных операций без привлечения рута, но только тем юзерам, которым явно разрешили. В данном случае, решили сделать через polkit и дать возможность выполнять команды только юзерам с правами auth_admin. И вот этот момент они и не проверили.
Тестировать нужно видную пользователю функциональность. В данном случае — выполнение привилегированных команд через systemctl, и совсем не важно, через что там это реализовано. А то вдруг у них там
if (uid > 0 && uid <= INT_MAX)
res = ask_polkit();
И все, привет.
Исправление
kirk_johnson,
:
Их программный продукт работает правильно:
спрашивает у polkit, можно ли пользователю запустить данную операцию;
получает ответ, что можно;
запускает операцию.
В чём здесь, по-вашему, ошибка?
В классической ошибке программиста. Фича заключается не в том, чтобы у polkit'а спросить, а в том, чтобы сделать возможным выполнение привилегированных операций без привлечения рута, но только тем юзерам, которым явно разрешили. В данном случае, решили сделать через polkit и дать возможность выполнять команды только юзерам с правами auth_admin. И вот этот момент они и не проверили.
Тестировать нужно видную пользователю функциональность. В данном случае — выполнение привилегированных команд через systemctl, и совсем не важно, через что там это реализовано. А то вдруг у них там
if (uid > 0 && uid < INT_MAX)
res = ask_polkit();
И все, привет.
Исправление
kirk_johnson,
:
Их программный продукт работает правильно:
спрашивает у polkit, можно ли пользователю запустить данную операцию;
получает ответ, что можно;
запускает операцию.
В чём здесь, по-вашему, ошибка?
В классической ошибке программиста. Фича заключается не в том, чтобы у polkit'а спросить, а в том, чтобы сделать возможным выполнение привилегированных операций без привлечения рута, но только тем юзерам, которым явно разрешили. В данном случае, решили сделать через polkit и дать возможность выполнять команды только юзерам с правами auth_admin. И вот этот момент они и не проверили.
Тестировать нужно видную пользователю функциональность. В данном случае — выполнение привилегированных команд через systemctl, и совсем не важно, через что там это реализовано. А то вдруг у них там
if (uid > 0 && uid < INT_MAX)
res = ask_polkit();
И все, привет.
Исправление
kirk_johnson,
:
Их программный продукт работает правильно:
спрашивает у polkit, можно ли пользователю запустить данную операцию;
получает ответ, что можно;
запускает операцию.
В чём здесь, по-вашему, ошибка?
В классической ошибке программиста. Фича заключается не в том, чтобы у polkit'а спросить, а в том, чтобы сделать возможным выполнение привилегированных операций без привлечения рута, но только тем юзерам, которым явно разрешили. В данном случае, решили сделать через polkit и дать возможность выполнять команды только юзерам с правами auth_admin. И вот этот момент они и не проверили.
Исходная версия
kirk_johnson,
:
Их программный продукт работает правильно:
спрашивает у polkit, можно ли пользователю запустить данную >операцию;
получает ответ, что можно;
запускает операцию.
В чём здесь, по-вашему, ошибка?
В классической ошибке программиста. Фича заключается не в том, чтобы у polkit'а спросить, а в том, чтобы сделать возможным выполнение привилегированных операций без привлечения рута, но только тем юзерам, которым явно разрешили. В данном случае, решили сделать через polkit и дать возможность выполнять команды только юзерам с правами auth_admin. И вот этот момент они и не проверили.