Назад | Перейти на главную страницу

sudo: / usr / bin / systemctl против / bin / systemctl

До сих пор в нашем файле sudoers было две строки, так как systemctl иногда в /usr/bin а иногда в /bin (в зависимости от дистрибутива linux):

    foo ALL = NOPASSWD: /usr/bin/systemctl restart foo.service
    foo ALL = NOPASSWD: /bin/systemctl restart foo.service

Есть ли способ записать это в одну строку?

В файле sudoers можно указать несколько команд, разделив их запятыми. Для вашего примера с systemctl строка будет

foo ALL = NOPASSWD: /usr/bin/systemctl restart foo.service, /bin/systemctl restart foo.service

Достаточно написать эту строку sudo:

foo ALL = NOPASSWD: /bin/systemctl restart foo.service

По словам разработчиков systemd, правильное расположение: /usr/bin/systemctl, но по умолчанию Debian / Ubuntu не следует этому "usr-merge".

К счастью, дистрибутивы, которые выполнили usr-merge, предоставляют символические ссылки.

Это означает /bin/systemctl работает на всех дистрибутивах.

Связанный: https://askubuntu.com/questions/1164035/why-bin-systemctl