Sorun: Root-Owned Dosyalar
Laravel uygulamasında Claude Code ile yapılan dosya işlemleri (Write/Edit tool) root:root ownership ile oluşturuluyor. Bu da PHP-FPM'in bu dosyalara erişememesine neden oluyor.
- • Permission Denied hataları
- • Composer autoload erişilemiyor
- • Config cache oluşturulamıyor
- • Console komutları çalışmıyor
- • Tüm dosyalar → tuufi.com_:psaserv
- • Dosya izinleri → 644
- • Klasör izinleri → 755
- • Storage özel izinler → 777
📝 Basit Anlatım (Herkes İçin)
Ne yapıyor bu script?
Sistemde "root" kullanıcısı tarafından oluşturulmuş dosyaları bulup,
doğru kullanıcıya (tuufi.com_) çeviriyor. Böylece web sunucusu ve PHP
bu dosyalara sorunsuz erişebiliyor.
Neden önemli?
Root kullanıcısının dosyalarına normal kullanıcı (PHP) erişemez.
Bu da sitenin bazı özelliklerinin çalışmamasına neden olur.
Bu script sayesinde tek komutla tüm izinler düzeltilebiliyor.
Ne zaman kullanmalı?
Claude Code ile dosya oluşturduktan sonra veya "Permission Denied"
hatası aldığınızda çalıştırın. Script otomatik olarak sorunları tespit
edip düzeltir.
🔧 Teknik Detaylar (Geliştiriciler İçin)
- ✅ Otomatik Kullanıcı Tespiti: composer.json dosyasının owner'ından doğru kullanıcıyı bulur
- ✅ Manuel Kullanıcı Desteği: İsteğe bağlı kullanıcı:grup parametresi
- ✅ Git Koruması: .git klasörü hiç dokunulmaz (git için root gerekli)
- ✅ Paralel İşlem: xargs -P 4 ile hızlı toplu düzeltme
- ✅ İzin Düzeltme: Dosya 644, klasör 755, storage 777
- ✅ Renkli Çıktı: Terminal'de görsel feedback
- ✅ Onay Mekanizması: İşlem öncesi kullanıcı onayı
- Doğru kullanıcıyı tespit et (composer.json owner'ı)
- Root-owned dosyaları say (.git hariç)
- Kullanıcıdan onay al
- Tüm dosya ownership'lerini düzelt (tuufi.com_:psaserv)
- Tüm klasör ownership'lerini düzelt
- Dosya izinlerini düzelt (644)
- Klasör izinlerini düzelt (755)
- Storage özel izinleri uygula (777/775)
- Symlink ownership düzelt
- Sonuç raporu göster
📖 Kullanım Kılavuzu
Yöntem 1: Otomatik Kullanıcı Tespiti (Önerilen)
Script otomatik olarak doğru kullanıcıyı tespit eder (composer.json owner'ı).
Yöntem 2: Manuel Kullanıcı Belirtme
Kullanıcı ve grubu manuel olarak belirlemek isterseniz:
Yöntem 3: Kısa Yol (Alias)
Hızlı kullanım için alias oluşturun:
📺 Örnek Çıktı
⚙️ İşlem Sonrası Öneriler
1. Cache Temizleme:
2. Site Testi:
3. Log Kontrolü: