Есть некоторые команды, которые нужно запускать от имени обычного пользователя после первоначальной подготовки. Я думал, что могу сделать это, используя отдельный сценарий оболочки и команду su --login -c <command> vagrant
, но он не получает путь пользователя или другие параметры среды из .bashrc.
например:
#!/usr/bin/env bash
su --login -c "rbenv install 2.0.0-p353" vagrant
su --login -c "rbenv global 2.0.0-p353" vagrant
su --login -c "gem update --system" vagrant
su --login -c "yes | gem update" vagrant
su --login -c "gem install rdoc" vagrant
su --login -c "gem install rails pg" vagrant
Есть ли способ сделать это? Может быть, это нужно сделать с помощью другого инструмента подготовки, такого как Puppet или Chef? Я подумал о создании другого сценария оболочки, который является источником .bashrc
, копируя его в поле с помощью инициатора: file и выполняя подобные команды, но это похоже на взлом.
Как правильно это сделать?
su -p
сохранит переменные среды - это поможет?