Проигнорируйте sudo в сценарии удара при использовании корня

Этим вопросом не является дубликат, Игнорируют sudo в сценарии удара


Я делаю изображение докера на основе изображения докера Ubuntu 14.04. Как Вы знаете, корень является пользователем по умолчанию в докере. То, когда я запустил скрипт удара для установки программного обеспечения, добралось

sudo: error in /etc/sudo.conf, line 0 while loading plugin `sudoers_policy'
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins

Я попробовал chown root /usr/lib/sudo/sudoers.so, но это не работает.


Это поведение является странным:

ls    (everyone can do this)
sudo ls   (you can't do this even if you are root)

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

Таким образом, я задаюсь вопросом, там ли какой-либо способ только проигнорировать sudo когда Вы - корень

1
задан 19 July 2017 в 07:16

1 ответ

В Ваших сценариях, к началу, определяют sudo быть функцией, которая называет фактическое sudo в случае необходимости:

sudo ()
{
    [[ $EUID = 0 ]] || set -- command sudo "$@"
    "$@"
}

command sudo foo bar говорит удару использовать фактическое sudo команда вместо функций или псевдонимов. $EUID эффективный идентификатор пользователя, который мог бы отличаться от $UID.

1
ответ дан 7 December 2019 в 15:33

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

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