Ну, это немного сложно ... Зависит, если это демон (служба) или вы запускаете эту команду / приложение.
Для второго случая вы можете использовать команду "su" .
Вот короткий пример.
1. Я создаю простой скрипт со следующим содержимым (он будет работать в фоновом режиме в течение 100 секунд и выведет список процессов, соответствующий этому сценарию):
#!/bin/bash
sleep 100 &
ps faux | grep test.sh
2. Я запускаю команду «su», например, (в данный момент я вошел в систему как «root» и хочу запустить этот скрипт как пользователь «песочницы»):
su - sandbox -c ./test.sh
sandbox = имя пользователя, который будет запускать эту команду.
-c ./test.sh = означает, что он выполнит эту команду
3. Вывод (первый столбец = пользователь, которому принадлежит этот процесс):
root@i6:/web-storage/sandbox# su - sandbox -c ./test.sh
sandbox 18149 0.0 0.0 31284 1196 pts/0 S+ 20:13 0:00 \_ su - sandbox -c ./test.sh
sandbox 18150 0.0 0.0 8944 1160 pts/0 S+ 20:13 0:00 \_ /bin/bash ./test.sh
sandbox 18155 0.0 0.0 3956 644 pts/0 S+ 20:13 0:00 \_ grep test.sh
root@i6:/web-storage/sandbox#
Надеюсь, это поможет,
Stefan