У меня есть небольшой bash скрипт, который запускает экземпляр Laravel git с gitlab.com:
sudo -u www-data git config --global credential.helper store
sudo -u www-data php artisan down
sudo -u www-data git pull
sudo -u www-data composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader
Когда я запускаю это (как root или любой другой пользователь) , Я получаю сообщение об ошибке
: невозможно получить доступ к /root/.gitconfig: отказано в разрешении
предупреждение: нет доступа /root/.config/git/config ': В доступе отказано
ошибка: не удалось заблокировать файл конфигурации /root/.gitconfig: В доступе отказано
И затем он запрашивает у меня имя пользователя и пароль для gitlab. Если введено правильно, скрипт работает как положено. Как заставить мой скрипт запомнить имя пользователя и пароль - или я должен поступить по-другому? В настоящее время я захожу на сервер под именем root или другим пользователем sudoer, созданным для этой цели, потому что пользователю www-data не разрешено или не должно быть разрешено входить в систему, как я понял.
Использование клавиш S SH, похоже, не влияет на это. Они правильно настроены на моем аккаунте, но я запускаю:
root@andach-admin-demo:/var/www/html/demo# git pull
warning: redirecting to https://gitlab.com/andach/andach-admin.git/
Already up to date.
root@andach-admin-demo:/var/www/html/demo# sudo -u www-data git pull
Username for 'https://gitlab.com':
Я не понимаю, как это сделать с помощью sudo -u www-data - я думаю, что это проблема.