LINUX.ORG.RU
ФорумAdmin

Alt server 10.4 — не получается с sudoers.d

 , ,


0

1

Нужно разрешить некоему юзеру рестартовать некий сервис. Добавил юзера в группу wheel. Добавил строку в /etc/sudoers.d/user :

user ALL=(ALL:ALL) NOPASSWD: /sbin/systemctl restart userservice

В результате имеем:

[sudo] password for user:
Извините, пользователю user не разрешено выполнять «/sbin/systemctl restart userservice.service» как root на host-176.

В логе:

фев 01 00:02:14 host-176 sudo[277433]: UNSPECIFIED (__progname="sudo" uid=503 euid=0): pam_tcb(sudo:auth): conversation failed
фев 01 00:02:14 host-176 sudo[277433]: user : command not allowed ; HOST=host-176 ; TTY=pts/1 ; PWD=/home/user ; USER=root ; COMMAND=/sbin/systemctl restart userservice.service

Кто виноват и что делать?

Команду надо писать полностью.

user ALL=(ALL:ALL) NOPASSWD: /sbin/systemctl restart userservice.service

И я бы написал так:

user ALL=NOPASSWD: /sbin/systemctl restart userservice.service

Тебе же не надо, чтобы он выполнял эту команду от любого пользователя.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

Это выдача их по смыслу разрешаемого действия, а не по текстовому представлению команды для его выполнения. Примерно так работают chmod и выдача групп - они не зависят от того, как называется файл или группа. Ну то есть на момент выдачи прав эти имена указать надо, чтобы сослаться на объект, но если потом файл или группу переименуют - ничего не сломается. Если на файл сделают симлинк и будут обращаться через него - тоже ничего не сломается.

firkax ★★★★★
()