Этим вопросом не является дубликат, Игнорируют 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
когда Вы - корень
В Ваших сценариях, к началу, определяют sudo
быть функцией, которая называет фактическое sudo
в случае необходимости:
sudo ()
{
[[ $EUID = 0 ]] || set -- command sudo "$@"
"$@"
}
command sudo foo bar
говорит удару использовать фактическое sudo
команда вместо функций или псевдонимов. $EUID
эффективный идентификатор пользователя, который мог бы отличаться от $UID
.