сделать shell скрипт для запуска от имени второго пользователя

Используйте

$ grep '[[:graph:]]' file

для получить все строки с видимыми символами в файле .

Или

$ grep -v '^[^[:graph:]]*$' file

, чтобы отфильтровать все строки, в которых есть только невидимые символы.

1
11.03.2016, 13:48
2 ответа

Команду sudo можно указать для запуска от имени конкретного пользователя:

 -u user, --user=user
             Run the command as a user other than the default target user
             (usually root).  The user may be either a user name or a
             numeric user ID (UID) prefixed with the ‘#’ character (e.g.
             #0 for UID 0).

Итак, внутри сценария вы можете использовать sudo -u USERNAME для запуска двух служб:

sudo -u foo command1
sudo -u foo command2

Однако это означает, что сам скрипт нужно будет запускать от имени пользователя root. В противном случае sudo запросит пароль пользователя foo .

1
27.01.2020, 23:35
sudo -u username -s -- "program1 && program2"

или

sudo -u username bash -c 'program1 && program2'
1
27.01.2020, 23:35

Теги

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