@SquareWheel
DevOops

Как запустить баш скрипт, с передачей параметра при запуске?

Не уверен, на сколько понятно я выразил проблему в заголовке.., но нужно запустить скрипт следующим образом
./skript.sh user
Где user - значение переменной, определяющей от какого пользователя будут запускаться некоторые команды скрипта.
А т.к. он должен запускаться из крона - read, не вариант. whoami - тоже, т.к. пользователи разные.
Подскажите, пожалуйста, так вообще можно, и если да, то приблизительно каким образом? Спасибо.
  • Вопрос задан
  • 307 просмотров
Решения вопроса 1
@abcd0x00
Если нужно разделить команды (одни от одного пользователя, другие - от другого), то можно внутри скрипта использовать sudo.

Скрипт
#!/bin/bash

user=${1:-guest}

whoami
sudo -u "$user" whoami

exit 0


Вызов
[guest@localhost sh]$ ./t.sh guest
guest
guest
[guest@localhost sh]$ ./t.sh apache
guest
apache
[guest@localhost sh]$
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@mureevms
А т.к. он должен запускаться из крона

Вы файл crontab хоть раз видели?
# m h dom mon dow user command
где user - имя пользователя от которого запускать скрипт.
Ну и на крайний случай через sudo можно:
sudo -u user /home/script.sh
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы