Mam skrypt, który uruchamiam za pomocą php artisan (z użytkownikiem root ) i czasami powoduje on utworzenie dziennego pliku dziennika, zanim zrobi to użytkownik apache www-data - co oznacza, że gdy prawdziwy użytkownik korzysta z mojej aplikacji internetowej, otrzymuję błąd uprawnień do folderu:
Nie udało się otworzyć strumienia: odmowa uprawnień
Za każdym razem zmieniam uprawnienia z powrotem na dane www, ale chcę rozwiązać ten problem, aby plik dziennika był zawsze tworzony z odpowiednimi uprawnieniami.
Rozważałem utworzenie zadania cron, które tworzy plik lub dotyka go, aby codziennie mieć pewność, że ma odpowiednie uprawnienia, ale szukam lepszego rozwiązania, które nie będzie polegać na innym skrypcie.
Rozważaliśmy również zawinięcie rzemieślnika php w innym skrypcie, aby upewnić się, że zawsze jest uruchamiany z poświadczeniami danych www , ale niektóre rzeczy, które chcemy zrobić, to w rzeczywistości root procedury, które powinny być apache nie wolno robić.
Masz więcej sugestii?
php artisan
jako użytkownik, dla którego chcesz utworzyć plik dziennika.
sudo crontab -u www-data -e
cron
zadanie dotouch
nowego pliku dziennika codziennie o północy (oczywiście pod odpowiednim użytkownikiem).