Почему система сохраняет, просят вводить пароль для первого члена sudo группы вместо, отклоняют выполнение команды

У нас есть человечность 18.04 ОС. Существует 2 представленные пользователя: user1, user2. user1 является административной учетной записью и является членом sudo группы: uid=1010(user1) gid=1010(user1) groups=1010(user1),27(sudo),110(lxd). user2 является обычным пользователем uid=1000(user2) gid=1000(user2) groups=1000(user2). Теперь, в/etc/sudoers файле у меня есть запись по умолчанию для sudo группы:

# Allow members of group sudo to execute any command 
%sudo   ALL=(ALL:ALL) ALL

А также специальные команды позволили выполняться с административными (корневыми) правами для user2:

Cmnd_Alias CMD_RELOAD_PHP_FPM = /bin/systemctl reload php7.0-fpm, /bin/systemctl reload php7.2-fpm
user2 ALL=(root:root) NOPASSWD: CMD_RELOAD_PHP_FPM

На этом шаге все в порядке, user2 может выполнить все указанное в Cmnd_Alias, не вводя пароль, таким образом работать как ожидалось.

Но когда user2 пытается выполнить что-то, чему его не разрешают, он заставляет подсказку входить, внимание, user1 пароль. Нет root, не его собственное user2, но user1 пароль, вместо тихо или информативно отклонение такого действия:

user2@someserver:~$ /bin/systemctl restart <someservice>
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'someservice.service'.
Authenticating as: user1
Password:

user1 единственный член sudo группы.

grep 'sudo' /etc/group
sudo:x:27:user1
grep 'sudo' /etc/gshadow
sudo:*::user1

Если user1 удален из sudo группа и user2 попытки выполнить ту же команду, затем его просят войти root пароль.

Как я могу изменить это поведение, таким образом, user2 вместо попыток отклонили бы того, чтобы просить, чтобы он ввел пароль?

0
задан 31 January 2019 в 03:05

1 ответ

У меня есть недостаточно знания о polkit, но это, кажется, причина такого поведения.

Строка, которая ответственный для этого:

AdminIdentities=unix-group:sudo;unix-group:admin

в /etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf файл

Комментарий AdminIdentities=... строка и перезапускающий polkit демон возвращает поведение по умолчанию где root пароль требуется для сервисного перезапуска. Не уверенный, если это безопасно, или нет. Вероятно, некоторые члены сообщества могли объяснить лучше.

Также кажется, что я нашел место где действия по умолчанию для systemd описаны, если непривилегированный пользователь пытается выполнить некоторое действие с systemd сервисом.
Это в файле: /usr/share/polkit-1/actions/org.freedesktop.systemd1.policy

Если я устанавливаю значения как это:

<action id="org.freedesktop.systemd1.manage-units">
        <description gettext-domain="systemd">Manage system services or other units</description>
        <message gettext-domain="systemd">Authentication is required to manage system services or other units.</message>
        <defaults>
                <allow_any>no</allow_any>
                <allow_inactive>no</allow_inactive>
                <allow_active>no</allow_active>
        </defaults>
</action>

я начинаю добираться Access denied сообщение при попытке перезапустить сервис как непривилегированного пользователя.

1
ответ дан 26 October 2019 в 10:24

Другие вопросы по тегам:

Похожие вопросы: