Рейтинг:1

Выполнение скрипта под определенным пользователем

флаг in

У меня есть сценарий, который запускается от имени пользователя root (расширение Azure CustomScript vm), который запускает другой сценарий (не поддерживаемый мной), который должен настроить конкретную службу для запуска под определенным пользователем (пользователем, которым был вызван сценарий).

рабочий директор /загрузок/0

drwx------ 3 root root 4096 6 окт 08:50 0

myscript.sh (запускается от имени пользователя root с расширением vm)

#!/бин/баш
curl https://raw.githubusercontent.com/MicrosoftDocs/mslearn-azure-pipelines-build-agent/main/build-agent.sh > build-agent.sh
chmod u+x build-agent.sh
sudo -E -u myuser./build-agent.sh 

Теоретически это должно достичь того, чего я хочу, но моя проблема в том, что я получаю

sudo: невозможно выполнить ./build-agent.sh: в доступе отказано

Я пытался:

chown myuser build-agent.sh
chmod u+x build-agent.sh
sudo -E -u мой пользователь ./build-agent.sh 

все еще получил отказ в доступе, как мне настроить разрешения для этого? разрешения после последней команды:

ls -l build-agent.sh
-rwxr--r-- 1 opsai root 1731 6 окт 11:02 build-agent.sh
sudodus avatar
флаг jp
1. Пожалуйста, покажите нам разрешения и владельца `build-agent.sh`. Отредактируйте исходный вопрос, чтобы добавить вывод `ls -l build-agent.sh`; 2. Можете ли вы добавить права доступа к рабочему каталогу или, если это невозможно, можете ли вы создать новый рабочий каталог, в котором обычный пользователь имеет права на чтение, запись и выполнение?
Aurimas N. avatar
флаг in
``` оболочка ls -l build-agent.sh -rwxr--r-- 1 myuser root 1731 6 окт 11:02 build-agent.sh ``` рабочий каталог - это временный подкаталог, в который загружаются материалы, поэтому я думаю, что нет никакого вреда в изменении разрешений там, я думаю, создание нового каталога и `cd`ing там также вариант, если это имеет значение. @ bac0n просто опечатка
sudodus avatar
флаг jp
Вы используете «opsai» вместо «myuser»? Во всяком случае, я думаю, что это сработает, когда вы добавите разрешения на рабочий каталог.
Aurimas N. avatar
флаг in
забыл заменить это при редактировании текста, но есть только один пользователь, и назовем его «myuser».
sudodus avatar
флаг jp
Хорошо, я просто проверял (о таких очевидных вещах легко забыть).
Aurimas N. avatar
флаг in
смена владельца рабочего каталога сработала, спасибо.
sudodus avatar
флаг jp
Всегда пожалуйста. Я рад, что смог помочь вам найти решение :-)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.