Как поменять местами пользователей в Linux через рабочий процесс GitHub?
У меня есть рабочий процесс Github для запуска файла python. Перед запуском файла python я хочу поменять местами пользователя, чтобы для выполнения файла python не требовалось sudo.
Я пробовал с «su», но он говорит, что su нужно запускать из командной строки . Как это сделать с помощью Github Workflow. Спасибо
.yaml
name: CI
on:
push:
branches: [ main ]
workflow_dispatch:
jobs:
build:
runs-on: self-hosted
strategy:
matrix:
python: [3.8.1]
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}
- name: run multiple commands
run: |
echo $PWD
whoami
su - user
python helloworld.py
1 ответ
Вы можете создать секрет, содержащий ssh-ключ пользователя, на которого вы хотите переключиться. Используя этот сценарий, вы можете подключиться к локальному хосту по SSH с предполагаемым пользователем для выполнения команд от имени предполагаемого пользователя.
ssh -i <key-path> <user>@<remote-machine> -t '<command>'