Выполните sudo сценарий Bash как другого пользователя будучи корнем

Я зарегистрирован как корень и хочу выполнить сценарий Bash с sudo полномочиями как другой пользователь.

Это - тест, избивают сценарий /home/me/sudo.bash:

mkdir -p /etc/test # Creating an /etc directory to test permissions
echo "test $(whoami) $USER $HOME" > /etc/test/a.txt

Команда, которую я в настоящее время имею (выполненный от корня, работайте за мной):

sudo --non-interactive --login --set-home --user=me \
sudo --non-interactive bash /home/me/sudo.bash

Содержание /etc/test/a.txt:

test root root /home/me

Что я ожидал:

test me me /home/me

Что я делаю неправильно здесь?

1
задан 27 November 2018 в 11:18

1 ответ

Это ожидается, это $(whoami) возвратит "корень", так как он работает как корень из-за второго sudo.

Кроме того, $USER возвратит "корень" потому что sudo всегда наборы, что переменная целевому пользователю (который, снова, является корнем на втором sudo.)

Если Вы интересуетесь знанием, которое вызвал пользователь sudo, который был бы "я" на случае второго sudo, затем посмотрите на $SUDO_USER переменная, который sudo наборы пользователю, который вызвал его.

См. SUDO_USER и ПОЛЬЗОВАТЕЛЯ в разделе "Environment" sudo страница справочника.

0
ответ дан 7 December 2019 в 22:21

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

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