может кто сталкивался на ubuntu с подобной проблемой?
Эта проблема решается довольно легко. Есть такая штука, как "сборщики проектов" различные или другого рода пост-инсталляционные скрипты, в т.ч. к ним (к этой же области) относятся и различные хуки самого GIT'а.
Пишите соотв. скрипт, который будет выставлять нужные права при каждом pull'e или ином действии. Либо же, запускаете этот скрипт руками, в нужный момент и проблема решена.
Точно по такому же принципу, при первом клонировании проекта, в 95% случаев Вам нужно будет запустить менеджер пакетов, что бы "наполнить" папку "vendor". В случае PHP/Laravel - это соотв. будет
composer. А ещё не редко бывают различные сборщики на базе NodeJS, аки WebPack или Gulp (и другие), которые так же нужно запускать в тот или иной момент времени...