VSFTPD, 553 Dosya oluşturulamadı. - izinler?


31

Amazon EC2'de VSFTPD'yi Amazon Linux AMI ile kurdum. Bir kullanıcı oluşturdum ve şimdi ftp ile başarılı bir şekilde bağlanabiliyorum. Ancak, bir şeyi yüklemeye çalışırsam "553 Dosya oluşturulamadı" hata mesajını alıyorum.

Bunun izinlerle ilgisi olduğunu varsayıyorum, ancak düzeltebilecek kadar bilgim yok. Temel olarak, dosya yükleyebilmek için ne yapmam gerekiyor?


Selinux Ayarlarını kontrol edin. boolean allow_ftpd_full_access ayarını ON

Yanıtlar:


18

Bunun gerçekleşmesinin iki olası nedeni vardır - yüklemeye çalıştığınız dizine giden dizinlerde yazma ve yürütme izniniz yok veya vsftpdyüklemenize izin vermeyecek şekilde yapılandırılmışsınız.

Eski durumda, kullanıcınızın her ara dizinde bu izinlere sahip olduğundan emin olmak için kullanın chmodve chownuygun şekilde kullanın. Yazma biti, etkilenen kullanıcının dizin içindeki dosyaları oluşturmasına, yeniden adlandırmasına veya silmesine ve dizinin niteliklerini değiştirmesine izin verirken, okuma biti, etkilenen kullanıcının dizindeki dosyaları listelemesine izin verir. Yoldaki ara dizinler de bunu etkilediğinden, izinler, yüklemeyi düşündüğünüz nihai varış noktasına kadar uygun şekilde ayarlanmalıdır.

İkinci durumda, şuna bak vsftpd.conf. write_enableYazmaya izin vermek için doğru olmalı (ve varsayılan olarak yanlış). Adresindeki bu yapılandırma dosyası hakkında iyi belgeler var man 5 vsftpd.conf.


10
Bunların hiçbiri sorun gibi görünmüyor. Her şeyi 777 (güvensiz) olarak chmoding ve ayarları write_enable = EVET denedim ama yine de bu gereksiz hata mesajı alıyorum.
Cerin 19 Ağustos'ta

@Cerin bunu çözebildin mi? Evet ise, detayları paylaşır mısınız?
unknownerror

34

Bunu deneyebilir misin

chown -R ftpusername /var/www/html

5
chmod 757 -R / var / www / html
Hernán Eche

1
@ HernánEche bahşiş için teşekkürler, saatlerdir avlanıyordum ve bu sorunumu çözdü.
Tr0yJ

Durum hakkında ayrıntılı bilgi verir misiniz, bu sunucuda mı yoksa yerel olarak mı?
Édouard Lopez

1
@ HernánEche Hey, O da benim için çalıştı, ama güvenli mi. 755
viv

1
@ HernánEche bunu ayrı bir cevap yapmalısın. Önerin benim için başka hiçbir şeyin olmadığı yerde işe yaradı.
Shaul, Monica'yı

11

Komut ile ftp put /path/to/local_fileçalışmaz vsftpd. Takip etmeyi dene:

ftp put /path/to/local_file remote_file_name 

İstediğiniz ismi seçebilirsiniz remote_file_name, ancak bir tane belirtmelisiniz.


2
Cevabınıza daha fazla ayrıntı eklemeyi düşünebilirsiniz (örneğin, çözümünüzün geçerliliğini destekleyen bazı belgeler).
HalosGhost

Bunun nedeni /path/to/sunucuda (ve eğer) bulunmadığı (ve / veya FTP oturumu yoluyla erişilememesi) olmasıdır. Bu nedenle ftp put local_file does açık hedef olmadan çalışmalarını. (İpucu: local: … remote: …FTP istemcisindeki satırı kontrol edin .)
Skippy le Grand Gourou

1
Benim için çalıştı! :)
Paulo

3

FTP ana dizini (ftp_home_dir) SeLinux'ta büyük olasılıkla kapalı. ftpdKontrol dosyalarınızın durumunu görmek için sorun:getsebool -a ve ftpd bölümünü bulun. Ftp_home_dir'in kapalı olduğunu fark edebilirsiniz. Açmak için aşağıdaki komutu kullanın:setsebool -P ftp_home_dir=1

Kullanarak girişinizi doğrulayın. getsebool -a , ardından yüklemeyi tekrar deneyin.

Not: Noktalama işaretlerini yok sayın


2

Aynı sorunu vardı ve kullanacağım şekilde yapılandırdığım klasörde yazmaya izin vermek için SELinux'u değiştirmeyi düzelttim. vsftp = /var/ftp/pub .

Bu bağlantılar yardımcı olabilir:

SELinux'unuzla daha ileri gitmek istemiyorsanız, değiştirmeyin, bu nedenle varsayılan olarak göreceksiniz. /etc/selinux/config

SELINUX=enforcing

sonra sadece komutları root olarak veya with ile çalıştırın sudo:

sudo setsebool -P ftpd_anon_write 1
sudo setsebool -P ftpd_full_access 1

daha önce başka bir yorumda tarif edildiği gibi.


1

vsftpd.confBu ayar için kontrol edin :

guest_enable=YES # set it to NO then restart the vsftpd service.

Eğer ayarlanırsa YES, buna da neden olur 553 Could not create file.

Gönderen: http://www.vsftpd.beasts.org/vsftpd_conf.html

guest_enable Etkinleştirilirse, tüm anonim olmayan girişler "misafir" girişleri olarak sınıflandırılır. Guest_username ayarında belirtilen kullanıcıya bir misafir girişi hatırlanır.

Varsayılan: NO



0

Başka bir olasılık: kullanıcı / grup için disk kotalarını kontrol et

ext:

repquota -a

xfs:

xfs_quota -x -c 'report' /mount_point

0

Bir sonraki parametre, herhangi bir yere yazmak için ftpd erişimi sağlayacaktır:

setsebool -P ftpd_full_acess=true 

ftpd_anon_writeAnonim yüklemelere izin vermek istemiyorsanız kullanmayın .



-1

Fedora23 için komutları çalıştırın:

setsebool -P ftpd_anon_write 1 
setsebool -P ftpd_full_access 1

Benim için çalıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.