У меня есть несколько систем Ubuntu, которые используют команду su из rc.local сценария. Это обновляет пользовательского мерзавца repo на локальной машине, таким образом, его важное, что владение файлов сведено к корректному пользователю.
Это работало перед патчами призрака/краха, но теперь я получаю непоследовательные результаты, когда сценарий работает. Некоторые машины могут выполнить команду su, но многие говорят, что "su должен быть, работал от терминала", и сценарий не работает.
Я изо всех сил пытаюсь понять то, что изменилось в последних обновлениях, которые повредили бы это.
Не знаю, почему su-s перестал работать, как это было раньше, но sudo -u username
решает проблему.
Мне пришлось объединить команды в группы, чтобы изменить каталог, поскольку sudo -u username
сбрасывает рабочий каталог в домашний каталог пользователя:
sudo -S -u username -i /bin/bash -l -c 'cd /opt/bin; git reset --hard'