Когда я запускаю эти команды, он выводит, как показано. / корень
$ sudo -u someuser -i "echo $HOME"
/root
$ runuser -l someuser -c "echo $HOME"
/root
$ su - someuser -c "echo $HOME"
/root
То, что я ожидал, было
/home/someuser
Когда я запускаю команду env для проверки среды, она правильно сообщает о переменной HOME.
$ su - someuser -c "env"
...
HOME=/home/someuser
...
$ sudo -u someuser -i "env"
...
HOME=/home/someuser
...
$ runuser -l someuser -c "env"
...
HOME=/home/someuser
...
Я хочу запустить скрипты в домашнем каталоге пользователя. / главная / someuser / скрипты.
как $ {HOME} /scripts/somescript.sh
$ sudo -u someuser ${HOME}/scripts/somescript.sh
sudo: /root/scripts/somescript.sh: command not found
То, что я ожидал, было:
$ sudo -u someuser ${HOME}/scripts/somescript.sh
...
script output.
...