LINUX.ORG.RU
решено ФорумAdmin

[WTF?]«Sorry, user root is not allowed to execute...»


0

0

хочу запустить программу с GID отличным от «основного». В «man sudo» по этому поводу написано

-g group    Normally, sudo sets the primary group to the one specified by the passwd database for the user the command is being run as (by
                   default, root).  The -g (group) option causes sudo to run the specified command with the primary group set to group.
я соответственно запускаю как
# sudo -g pkcs11 id -g
но получаю
Sorry, user root is not allowed to execute '/usr/bin/id -g' as root:pkcs11 on localhost.localdomain.
ЧЯДНТ?
# grep root /etc/sudoers

root	ALL=(ALL) ALL
# groups root

root : root pkcs11

★★

Ответ на: комментарий от dexpl

> Я правильно понял, что /etc/sudoers доступен на чтение не-root'у?

нет

# ll /etc/sudoers

-r--r----- 1 root root 605 Фев 27 13:05 /etc/sudoers

а разве должен? Кроме того, UID=0 по прежнему, и от смены основной группы права root на выполнения любых операций в системе не должны пропасть. То есть хотелось бы получить

# sudo -g pkcs11 id -g

107

# sudo -g pkcs11 id -u

0

(где 107 — это UID pkcs11)

но выясняется что всё ещё немного более странно

# sudo -g root id -g

Sorry, user root is not allowed to execute '/usr/bin/id -g' as root:root on localhost.localdomain.

pupok ★★ ()

[SOLVED]

оказалось что должно быть так

# grep root /etc/sudoers 

root    ALL=(ALL:ALL) ALL
после этого
# sudo -g audio id -g

29

работает для любых групп, пользователь даже не обязан в них состоять.

pupok ★★ ()
Ответ на: [SOLVED] от pupok

> оказалось что должно быть так ...

Спасибо, взял на заметку

dexpl ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.