SFTP Permission Denied ve Dosya Yükleme Hatası Nasıl Çözülür?
SFTP oturumu açılmasına rağmen dosya yüklenemiyorsa sorun çoğunlukla bağlantıda değil; hedef dizinin sahipliği, yazma izni, kota veya SFTP kısıtlamasındadır.

Giriş hatası ile dosya işlemi hatasını ayırın
Parola veya anahtar reddediliyorsa kullanıcı kimliği doğrulanmamıştır. Klasör listesi açılıyor fakat yükleme, silme ya da yeniden adlandırma reddediliyorsa kimlik doğrulama tamamlanmış; dosya sistemi veya SFTP politikası işlemi engellemiştir.
Hatanın hangi işlemde ve hangi uzak yolda oluştuğunu kaydedin. Aynı hesap başka bir klasöre yazabiliyorsa sorun hesap genelinden çok hedef dizine özgüdür.
Yaygın permission denied nedenleri
Kullanıcı veya grubu hedef klasörde yeni dosya oluşturma yetkisine sahip değildir.
Dosya veya klasör farklı kullanıcıya ait olabilir; yalnızca sayısal moda bakmak yeterli değildir.
SFTP kök dizini güvenlik gereği kullanıcı tarafından yazılamaz; bunun altında ayrı bir yazılabilir klasör gerekir.
Dosya sistemi read-only olabilir, disk dolmuş veya kullanıcı kotası aşılmış olabilir.
SFTP-only hesap veya sunucu politikası silme, yeniden adlandırma ya da belirli uzantıları engelleyebilir.
İstemci tarafında yapılacak kontroller
- 1Uzak yolu doğrulayın
Göreli yol ile gerçek sunucu yolu farklı görünebilir; mevcut uzak klasörü ve dosya adını kontrol edin.
- 2Basit bir dosyayla deneyin
Küçük ve güvenli adlı bir test dosyası, boyut ve dosya adı kuralı ihtimalini ayırır.
- 3Farklı izinli klasörü test edin
Hesabın kendi upload veya home alt klasöründe yazma izni olup olmadığını karşılaştırın.
- 4Bağlantı günlüğünü inceleyin
Başarısız SFTP isteğini ve sunucunun döndürdüğü durum mesajını belirleyin.
Linux sunucuda sahiplik ve izin kontrolü
Dizin üzerinde dosya oluşturmak için yalnızca dosyanın değil, üst dizinin yazma ve geçiş izinleri önemlidir. Kullanıcının etkin gruplarını ve yolun her bileşenine erişimini kontrol edin.
Rastgele 777 vermek sorunu gizleyebilir ve başka kullanıcıların dosyaları değiştirmesine izin verebilir. Gerekli kullanıcı/grup sahipliğini ve en dar uygun izinleri belirleyin.
id kullanici
ls -ld /srv/sftp /srv/sftp/upload
namei -l /srv/sftp/uploadChrootDirectory neden yazılamaz olabilir?
OpenSSH chroot yapılandırmalarında hapishane kökünün sahipliği ve yazılabilirliği sıkı kurallara tabidir. Güvenli düzen genellikle root tarafından sahip olunan bir chroot kökü ve onun altında SFTP kullanıcısının yazabildiği ayrı bir upload dizinidir.
Kök dizini kullanıcıya yazılabilir yapmak girişin tamamen başarısız olmasına yol açabilir. Chroot kuralını gevşetmek yerine yazılabilir alt dizin oluşturun ve yalnızca gereken hesaba yetki verin.
Geniş izinler veri bütünlüğünü ve hesap izolasyonunu bozar. Sahiplik, grup ve gereken işlemi temel alan en dar izni kullanın.
Sunucu tarafı kontrol listesi
Boş alanı, inode kullanımını ve kullanıcı kotasını kontrol edin.
Dosya sisteminin hata sonrası read-only bağlanıp bağlanmadığını inceleyin.
Subsystem, Match, ForceCommand ve ChrootDirectory kurallarını doğrulayın.
SELinux, AppArmor veya Windows ACL gibi ek denetimleri gözden geçirin.
Reddin dosya sistemi, politika veya SFTP alt sisteminden geldiğini günlüklerle belirleyin.
Rehberi uygulamaya geçirin.
İlgili Varkuna ürününü inceleyin veya ayrıntılı kullanım rehberini açın.