VSFTPD, 553 फ़ाइल नहीं बना सका। - अनुमति?


31

मैंने Amazon EC2 पर Amazon Linux AMI के साथ VSFTPD की स्थापना की है। मैंने एक उपयोगकर्ता बनाया और अब सफलतापूर्वक ftp के माध्यम से जुड़ सकता है। हालांकि, अगर मैं कुछ अपलोड करने की कोशिश करता हूं तो मुझे त्रुटि संदेश मिलता है "553 फ़ाइल नहीं बना सका।"

मुझे लगता है कि यह अनुमति के साथ करना है, लेकिन मैं इसके बारे में पर्याप्त नहीं जानता कि इसे ठीक करने में सक्षम हो। तो मूल रूप से, मुझे क्या करना होगा जो फाइलें अपलोड करने में सक्षम हों?


सेलिनक्स सेटिंग्स की जाँच करें। कॉन्फ़िगर बूलियन allow_ftpd_full_access ऑन

जवाबों:


18

दो संभावित कारण हैं कि ऐसा हो सकता है - आपके पास उन निर्देशिकाओं पर लिखने और निष्पादित करने की अनुमति नहीं है जिन्हें आप उस निर्देशिका में ले जा रहे हैं जिसे आप अपलोड करने का प्रयास कर रहे हैं, या vsftpdआपको अपलोड करने की अनुमति नहीं देने के लिए कॉन्फ़िगर किया गया है।

पूर्व के मामले, उपयोग में chmodऔर chownउचित रूप में सुनिश्चित करें कि आपके उपयोगकर्ता हर मध्यवर्ती निर्देशिका से इन अनुमतियों है कि बनाने के लिए। लिखने वाला प्रभावित उपयोगकर्ता को निर्देशिका के भीतर फाइलें बनाने, नाम बदलने या हटाने की अनुमति देता है, और निर्देशिका की विशेषताओं को संशोधित करता है, जबकि रीड बिट प्रभावित उपयोगकर्ता को निर्देशिका के भीतर फाइलों को सूचीबद्ध करने की अनुमति देता है। चूंकि मार्ग में मध्यवर्ती निर्देशिकाएं भी इसे प्रभावित करती हैं, इसलिए अनुमतियों को उचित रूप से अंतिम गंतव्य तक ले जाना चाहिए जिसे आप अपलोड करने का इरादा रखते हैं।

बाद के मामले में, अपने को देखो vsftpd.confwrite_enableलिखने की अनुमति देने के लिए सही होना चाहिए (और यह डिफ़ॉल्ट रूप से गलत है)। इस कॉन्फ़िगरेशन फ़ाइल पर अच्छा प्रलेखन है man 5 vsftpd.conf


10
इनमें से कोई भी मुद्दा नहीं लगता है। मैंने 777 (असुरक्षित) और सेटिंग्स को लिखने की कोशिश करते हुए सब कुछ लिख दिया।
सेरिन

@Cerin क्या आप इसे ठीक करने में सक्षम थे? यदि हाँ, तो क्या आप विवरण साझा कर सकते हैं?
अज्ञात सेर

34

क्या आप यह कोशिश कर सकते हैं

chown -R ftpusername /var/www/html

5
chmod 757 -R / var / www / html
हर्नान एचे

1
@ HernánEche टिप के लिए धन्यवाद, मैं घंटों तक शिकार करता रहा और इसने आखिरकार मेरा मुद्दा ठीक कर दिया।
Tr0yJ

क्या आप स्थिति के बारे में विस्तार से बता सकते हैं, क्या यह सर्वर पर या स्थानीय स्तर पर है?
atdouard लोपेज

1
@ हर्नानशे हे, इसने मेरे लिए भी काम किया, लेकिन क्या यह सुरक्षित है। यह 755
viv

1
@ हर्नेशे आपको इसका एक अलग उत्तर देना चाहिए। आपके सुझाव ने मेरे लिए काम किया जहां और कुछ नहीं किया।
शाऊल का कहना है कि मैं मोनिका

11

कमांड के ftp put /path/to/local_fileसाथ काम नहीं करता है vsftpd। निम्नलिखित आज़माएँ:

ftp put /path/to/local_file remote_file_name 

आप अपने लिए कोई भी नाम चुन सकते हैं remote_file_name, लेकिन आपको एक निर्दिष्ट करना होगा।


2
आप अपने उत्तर में और अधिक विवरण जोड़ने पर विचार कर सकते हैं (उदाहरण के लिए, कुछ दस्तावेज जो आपके समाधान की वैधता का समर्थन करते हैं)।
HalosGhost

ऐसा इसलिए होता है क्योंकि /path/to/सर्वर पर (और अगर) मौजूद नहीं है (और / या एफ़टीपी सत्र के माध्यम से सुलभ नहीं है)। यही कारण है कि स्पष्ट गंतव्य के बिना काम ftp put local_file करता है। (संकेत: local: … remote: …एफ़टीपी ग्राहक में लाइन की जाँच करें ।)
स्किप्पी ले ग्रांड गौरौ

1
यह मेरे लिए काम किया! :)
पाउलो

3

एफ़टीपी होम डायरेक्टरी (ftp_home_dir) सेलाइन में सबसे अधिक संभावना है। अपनी ftpdनियंत्रण फ़ाइलों की स्थिति देखने के लिए , जारी करें: getsebool -aऔर ftpd अनुभाग का पता लगाएं। आप देख सकते हैं ftp_home_dir बंद है। इसे चालू करने के लिए, निम्नलिखित कमांड का उपयोग करें:setsebool -P ftp_home_dir=1

अपने इनपुट का उपयोग करके सत्यापित करें getsebool -a, फिर पुन: अपलोड करने का प्रयास करें।

नोट: विराम चिह्नों पर ध्यान न दें


2

मेरे पास एक ही मुद्दा था और मैंने जिस फ़ोल्डर का उपयोग करने के लिए कॉन्फ़िगर किया था, उसमें लिखने की अनुमति देने के लिए SELinux को बदल दिया था vsftp = /var/ftp/pub

ये लिंक सहायक हो सकते हैं:

यदि आप अपने SELinux के साथ आगे नहीं जाना चाहते हैं तो इसे न बदलें, जिससे आप डिफ़ॉल्ट रूप में देखेंगे /etc/selinux/config

SELINUX=enforcing

तब बस कमांड को रूट या के साथ चलाएं sudo:

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

जैसा कि पहले ही अन्य टिप्पणी में ऊपर वर्णित है।


1

vsftpd.confइस सेटिंग के लिए अपनी जाँच करें :

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

अगर यह इसके लिए सेट है YES, यह भी कारण होगा 553 Could not create file

से: http://www.vsftpd.beasts.org/vsftpd_conf.html

Guest_enable यदि सक्षम है, तो सभी गैर-अनाम लॉगिन को "अतिथि" लॉगिन के रूप में वर्गीकृत किया जाता है। Guest_username सेटिंग में निर्दिष्ट उपयोगकर्ता के लिए एक अतिथि लॉगिन रीमैप किया गया है।

डिफ़ॉल्ट: नहीं



0

एक अन्य संभावना: उपयोगकर्ता / समूह के लिए डिस्क कोटा की जाँच करें

ext:

repquota -a

XFS:

xfs_quota -x -c 'report' /mount_point

0

अगला पैरामीटर कहीं भी लिखने के लिए ftpd एक्सेस देगा:

setsebool -P ftpd_full_acess=true 

ftpd_anon_writeजब तक आप अनाम अपलोड की अनुमति नहीं चाहते तब तक उपयोग न करें ।



हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.