Как поменять местами пользователей в 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>'
Другие вопросы по тегам