Сменить пользователя в скрипте запуска Google Compute Engine - PullRequest
0 голосов
/ 03 апреля 2019

Я передаю следующее в качестве сценария запуска GCE, но он всегда входит в систему как пользователь root, а не как пользователь демо-версии.Как мне это исправить?

    let startupScript = `#!/bin/bash
    su demo-user
    WHO_AM_I=$(whoami)
    echo WHO_AM_I: $WHO_AM_I &>> debug.txt
    cd..`

1 Ответ

0 голосов
/ 04 апреля 2019

Я думаю, что это должно работать так:

#! /bin/bash
sudo -u demo-user bash -c 'WHO_AM_I=$(whoami);
echo WHO_AM_I; $WHO_AM_I &>> debug.txt;'

используйте "sudo-u" для указания пользователя, затем bash -c 'со всеми командами между этими конкретными кавычками '' и разделенными ;

Например: bash -c 'command1; command2;'

Вы можете попробовать более простой тест (у меня это сработало) , например:

#! /bin/bash
sudo -u demo-user bash -c 'touch test.txt'

А затем проверьте с помощью ls -l /home/demo-test/text.txt, что демо-тест является владельцем нового файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...