31111111111Rating 3.00 (2 Votes)
Разрешить простому пользователю изменять некоторые системные настройки Fedora / CentOS можно при помощи групп и политик. Я реализую это следующим образом:
  • Создаю группу
  • Добавляю пользователя в группу
  • Создаю файл политики
  • В файле политики указываю группу
Использование групп полезно тем, что в группы можно добавлять неограниченное количество пользователей, это удобно - указать группу один раз в политике, в дальнейшем попросту изменяя ее состав, можно манипулировать разрешениями для обычных пользователей.

Разрешения на измение сетевых настроек NetworkManager

Создаем группу:
groupadd networkusers
Добавляем в нее пользователя:
usermod -aG networkusers userName
Создаем политику:
nano /etc/polkit-1/rules.d/50-org.freedesktop.NetworkManager.rules
Добавляем правило:
polkit.addRule(function(action, subject) {
  if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("networkusers")) {
    return polkit.Result.YES;
  }
});

Разрешение на изменение настроек файервола

Для этого достаточно открыть уже имеющийся файл:
nano /usr/share/polkit-1/actions/org.fedoraproject.FirewallD1.policy
Найти строки:

<message>System policy prevents inspecting and changing firewall</message>
<allow_any>auth_admin_keep</allow_any>
<allow_inactive>auth_admin_keep</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
</defaults>
</defaults>

Заменить auth_admin_keep на yes

Финал

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

По теме

Добавить комментарий


Защитный код
Обновить

Сейчас 658 гостей и ни одного зарегистрированного пользователя на сайте

Вверх
Вниз