बेसिक उबंटू एफ़टीपी सर्वर


33

मैं अपने उबंटू सर्वर इंस्टॉल पर एक बुनियादी एफ़टीपी सर्वर सेटअप करना चाहूंगा। मैं VSFTPD के साथ खेल रहा हूं, लेकिन मुझे निर्देशिका बनाने और फाइलें कॉपी करने की अनुमति देने के लिए सर्वर होने में समस्या हो रही है। मैंने स्थानीय उपयोगकर्ताओं को अनुमति देने के लिए सिस्टम सेट किया है, लेकिन ऐसा प्रतीत होता है कि इसका मतलब यह नहीं है कि मुझे निर्देशिका बनाने के लिए पहुंच मिलती है। यह एक उदाहरण हो सकता है जहां मुझे इस एफ़टीपी सर्वर को पर्याप्त रूप से कॉन्फ़िगर करने के लिए उबंटू सर्वर सेटअप में बेहतर आधार की आवश्यकता है। अंतिम लक्ष्य तैनाती के लिए मेरे स्थानीय फ़ोल्डर से मेरे www फ़ोल्डर में फ़ाइलों को स्थानांतरित करने में सक्षम होना है। निर्देशिकाएँ के रूप में अच्छी तरह से स्थानांतरित करने में सक्षम होने की जरूरत है। किसी भी तरह की सहायता का स्वागत किया जाएगा।


आपने चलती हुई फ़ाइलों और फ़ोल्डरों का उल्लेख www फ़ोल्डर में स्थानीय देव के रूप में किया है - क्या आप यह सब एक ही मशीन या विभिन्न मशीनों पर कर रहे हैं?
मार्को Ceppi

क्या आप VSFTPD के साथ पूर्ण रूप से बिक चुके हैं? या क्या आप अन्य प्रकार के एफ़टीपी सॉफ्टवेयर्स जैसे प्योरफेट में दिलचस्पी लेंगे?
मार्को Ceppi

स्थानीय देव पूरी तरह से एक अलग मशीन है। मैं एफ़टीपी के माध्यम से वेब सर्वर पर फ़ाइलों को स्थानांतरित करने से परिचित हूं, शायद एक बेहतर तरीका है।
JPrescottSanders

मुझे वीएसएफटीपीडी पर नहीं बेचा गया है, यह पहला था जिसे मैंने गुग्लिंग करते समय पाया था, अगर आपके पास एक सरल समाधान है तो मैं सभी कान हूं।
JPrescottSanders

जवाबों:


42

मैं PureFTPD की सिफारिश करने जा रहा हूं क्योंकि यह मेरी राय में उपयोग करने में सबसे सरल और आसान है। आपको इसे पहले sudo apt-get install pure-ftpdइंस्टॉल करना होगा : एक बार इंस्टॉल होने के बाद यह खुद शुरू हो जाएगा। डिफ़ॉल्ट रूप से यह PAM ऑथेंटिकेशन का उपयोग करता है - जिसका अर्थ है कि यह उन खातों का उपयोग करता है जो पहले से ही इस सिस्टम के लिए मौजूद हैं। आपको बस इतना करना होगा कि होम निर्देशिका के साथ आपका www पथ का उपयोगकर्ता खाता बनाया जाए और उस खाते का पासवर्ड सेट किया जाए। फिर आपको उस उपयोगकर्ता के साथ जुड़ने / फाइलों को अपलोड / डाउनलोड करने के लिए संयोजन पास करने में सक्षम होना चाहिए।

कुछ इस तरह:

sudo adduser ftpman --home /var/www/ --ingroup www-data

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

अंत में यदि आप उस खाते को चलाने के लिए SSH एक्सेस को लॉक करना चाहते हैं: sudo chsh -s /bin/false ftpmanजो उपयोगकर्ताओं को गलत तरीके से खोल देगा। (अपने ftp उपयोगकर्ता के साथ ftpman बदलें)


5
PureFTP जहां तक ​​मेरा संबंध है, इसे स्थापित करना सबसे आसान है।
नाथन उस्मान

1
आपको हमेशा एक शिक्षक की तरह पूर्ण विवरण देने की आदत है। बहुत बढ़िया!!!
user3215

1
मैंने यह कोशिश की, लेकिन मैं नए बनाए गए उपयोगकर्ता से जुड़ नहीं सकता। मौजूदा उपयोगकर्ताओं को काम ठीक
विम

1
यह सब ठीक काम करता है, सिवाय जब मैं इसे चलाता हूं तो chshलगता है कि उपयोगकर्ताओं को एफ़टीपी के माध्यम से लॉग इन करने से रोका जा सकता है। /bin/bashइसे फिर से काम करने की अनुमति देने के लिए वापस सेट करना ।
दानह

1
धन्यवाद, और मैं पुष्टि कर सकता हूं कि मैंने एक पूरा दिन vsftpd के साथ बिताया और 5 मिनट सेटअप समय में pureftpd के साथ। एक साधारण सेटअप के लिए, और सुरक्षित, Pureftpd का उपयोग करें। मैं उलझन में हूं कि मुख्यधारा ने टोटलपैड को क्यों टाल दिया!
RyBolt

10

मेरी राय में SFTP एक बेहतर तरीका है। अरे, यह नाम में "सुरक्षित" शब्द मिला है, यह बेहतर होना चाहिए :)

SFTP फ़ाइल ट्रांसफ़र करने के लिए ssh का उपयोग करता है (जैसा कि FTPS से अलग है, जो कि एफ़टीपी + टीएलएस है, मूल रूप से)। इसका मतलब यह है कि यदि आप लक्ष्य मशीन में ssh कर सकते हैं, तो आप इसे लगभग हमेशा SFTP कर सकते हैं, क्योंकि यह एक ही समान तंत्र का उपयोग करता है, इसलिए सभी पर अलग-अलग सर्वर डेमों को स्थापित करने और कॉन्फ़िगर करने की कोई आवश्यकता नहीं है (अर्थात कोई प्योरफेट या vsftdd)। जब तक आपकी अनुमति सही ढंग से सेट हो जाती है /var/www- जो कि शायद एक मामला है sudo chmod g+w /var/www; sudo usermod -g $USER -G www-data $USER- आपको तुरंत SFTP का उपयोग करने में सक्षम होना चाहिए।

आजकल ज्यादातर क्लाइंट सॉफ्टवेयर बहुत खुशी से SFTP करेंगे, और आप scpएक सर्वर से शेल सर्वर पर सामान की प्रतिलिपि बनाने के लिए उपयोग कर सकते हैं ( scp -Rपूरे फ़ोल्डर को कॉपी करेंगे, और यह बहुत आसान है)। तुम भी एक और कदम और सार्वजनिक कुंजी के साथ लॉगिन स्वचालित कर सकते हैं, जिसका अर्थ है कोई और अधिक टाइपिंग पासवर्ड :)


3
संकेत संकेत ... यदि आपके पास Windows क्लाइंट है तो वे Sftp सर्वर तक पहुँचने के लिए WinSCP wincp.net/eng/index.php का उपयोग कर सकते हैं ।
लासपुलसेन

आपकी टिप्पणी के अनुसार ओपी को निश्चित रूप से vsftpd का उपयोग करना चाहिए, क्योंकि बनाम बहुत सुरक्षित है । :-)
qbi

PureFTPD उसी प्रमाणीकरण का उपयोग करता है जो SFTP करता है - यह वास्तव में मेरी राय में अधिक सुरक्षित है क्योंकि यदि आपके खाते की जानकारी लीक हो गई है तो आपके मशीन पर SSH के रूप में कोई भी नहीं पहुंच सकता है। सबसे बुरी तरह से वे फ़ाइल का उपयोग किया है।
मार्को Ceppi

यदि आपका ऐप केवल एफ़टीपी का समर्थन करता है, और आप इसे एसएसएच पर टनल कर रहे हैं, तो क्या अंतर है? :)
एंडोलिथ

5

मैं दृढ़ता से vsftpd का उपयोग करने की सलाह दूंगा। यह लिनक्स में सबसे सुरक्षित एफ़टीपी डेमोंस में से एक है। कई अन्य लोगों की अतीत में कमजोरियां थीं और ऐसा लगता है कि एफ़टीपी को सुरक्षित तरीके से लागू करना कठिन है।

इसे स्थापित करने के बाद vsftpd सही शुरू होता है। उबंटू स्थानीय उपयोगकर्ताओं को लॉग इन करने में सक्षम बनाता है। इसलिए अपने एफ़टीपी क्लाइंट को शुरू करें और अपने सिस्टम पासवर्ड के साथ सामान्य उपयोगकर्ता के रूप में लॉग इन करें (मेरा उदाहरण lftp का उपयोग करता है):

> lftp 127.0.0.1 ftp
lftp 127.0.0.1:~> user qbi
Password: #typing my password which I also use to log in via GDM
lftp qbi@127.0.0.1:~> ls
drwxr-xr-x 10 1000 1000   4096 2008-07-28 16:32 Desktop
... many more

अब मैं एक नई निर्देशिका बनाने fooऔर अपने FTP क्लाइंट पर वापस जाने के लिए किसी प्रकार के फ़ाइल प्रबंधक (Nautilus, Shell आदि) का उपयोग कर रहा हूँ :

ftp qbi@127.0.0.1:~> ls -l
...
drwxr-xr-x 2 1000 1000   4096 2010-08-09 13:32 foo

निर्देशिका है और मैं इसमें सक्षम हूं cdऔर इसका उपयोग करता हूं । यदि आपके पास विशेष उपयोगकर्ता हैं तो यह भी समान है। वहां आप निर्देशिका भी बना सकते हैं और वे तुरंत पहुंच योग्य हैं। यहां एक्सेस अधिकारों की तलाश करना महत्वपूर्ण है।


3

मैं विनम्रतापूर्वक एक FTP सर्वर की सिफारिश करता हूं जो मैंने खुद को खरोंच से लिखा था: JetFTP । यह स्थापित करने और उपयोग करने के लिए अत्यंत सरल है।


स्थापना:

  • अपने सॉफ़्टवेयर स्रोतों में मेरा PPA जोड़ें और अपडेट करें:

    sudo apt-add-repository ppa:george-edison55/george-edison
    
  • निम्न आदेश चलाएँ:

    sudo apt-get install jetftp
    
  • बस!

JetFTP का उपयोग करना सरल है - बस 8021एक लॉगिन नाम और पासवर्ड का उपयोग करके पोर्ट से कनेक्ट करें जिस पर JetFTP चल रहा है।


2

एफ़टीपी का उपयोग न करें , यह स्वाभाविक रूप से असुरक्षित प्रोटोकॉल है क्योंकि यह सर्वर को स्पष्ट में उपयोगकर्ता नाम और पासवर्ड भेजता है। Sftp को लागू करना उतना ही आसान है और आप अपने कनेक्शन की सुरक्षा में भारी लाभ प्राप्त करते हैं।


स्पष्ट समस्या का सबसे अच्छा जवाब :-)
सजद बहमनी

0

Ftp सर्वर सेट करने के तीन अलग-अलग तरीके हैं:

(1) बेनामी एफ़टीपी:

लोग केवल अनाम खाते के साथ और पासवर्ड के बिना सर्वर का उपयोग कर सकते हैं। बेशक, सर्वर व्यवस्थापक उपयोगकर्ताओं को पायरेटेड संगीत / फिल्मों / गेम जैसी अवैध फ़ाइलों को रोकने के लिए अपलोड करने की एक सीमा निर्धारित करेगा।

(2) FTP एक अनाम खाते वाले अनाम पहुँच और उपयोगकर्ताओं दोनों के साथ:

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

(3) वर्चुअल यूजर प्रमाणीकरण के लिए mysql समर्थन के साथ एफ़टीपी:

यह विधि केवल कुछ उपयोगकर्ता समूहों के लिए सर्वर तक पहुंच की अनुमति देती है, जिन्हें सिस्टम पर वर्चुअल उपयोगकर्ता प्रमाणीकरण शेल खाता नहीं मिला है। यह एक बाहरी mysql सर्वर का उपयोग करता है जो उपयोगकर्ता की जानकारी संग्रहीत करता है।

पहला विकल्प: बेनामी एफ़टीपी

एक अनाम एफ़टीपी सर्वर का निर्माण शुरू करने से पहले, आपको अपने सिस्टम में एफ़टीपी नामक एक उपयोगकर्ता को जोड़ना होगा, एक होम डायरेक्टरी के साथ भी। यह कदम वास्तव में आसान है, बस इन आदेशों का पालन करें:

useradd -d /home/ftp/ftp -s /bin/false ftp

mkdir -p /home/ftp/upload

ऐसा करने से केवल इस खाते को इस फ़ोल्डर में लिखने की अनुमति मिलती है। Ftp सर्वर क्या करेगा यह निर्दिष्ट करने के लिए आप अधिक चर का उपयोग कर सकते हैं। यहाँ कुछ उदाहरण हैं:

-e Allow access to the server only by anonymous users
-B Start the server with background demon
-i Anonymous users can't upload files
-M Let anonymous users create folders
-s ftp user files cannot be downloaded

दूसरा विकल्प: '' 'अनाम और पासवर्ड वाले दोनों उपयोगकर्ता खाता' '

एक ही सर्वर में अनाम और पासवर्ड वाले दोनों खाता उपयोगकर्ताओं को रखना संभव बनाने के लिए, इस छोटे गाइड का पालन करें:

-B ,-i ,M, -r, -s same of before
-u <uid> Enable users with a specified user id (uid) to access the server 
-V <Ip address> Only specified IPs will be able to access the server in non-anonymous mode 

तीसरा विकल्प: '' मैसूरल के साथ वर्चुअल उपयोगकर्ता ''

Mysql समर्थन वाला सर्वर बनाने के लिए इस चरणों का पालन करें:

डाउनलोड करें और PureFTPd के लिए उपयोगकर्ता प्रबंधक स्थापित करें जिसे आप यहां पा सकते हैं http://machiel.generaal.net/index.php?subject=user_manager_pureftpd

इसे डिकम्प्रेस करें और अपनी सभी सामग्री अपने वेब सर्वर www निर्देशिका में अपलोड करें और फिर अपने ब्राउज़र पर यह लिंक लिंक http: //localhost/ftp/install.php लिखें। सभी चरणों का पालन करें जो इंस्टॉलर आपसे पूछता है कॉपी करें और rge Pureftpd-mysql को सहेजें । शुद्ध उपयोगकर्ता प्रबंधक निर्देशिका में .ff

किया हुआ। इस लिंक का उपयोग करके प्रशासन पैनल तक पहुंच http: // localhost / ftp

सर्वर प्रक्रिया शुरू करने से पहले जोड़ने के लिए और विकल्प

-c <num> Max client that can connect to the server
-C <num> Max connections for a IP
-T <bandwitdh> Max bandwitdh disponible for each connection
-n <MBytes> Max MB that a user can have into its home folder
-m <Cpu Loading> Stops the anonymous uploads if the cpu loading exceed from this value 

और इसे कुछ ftp सर्वर एप्लिकेशन के लिए देखें:
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html


4
जब आप कहीं और से उत्तर कॉपी और पेस्ट करते हैं, तो आपको हमेशा स्रोत को क्रेडिट करना चाहिए ।
डोरी

0

VSFTPD की डिफ़ॉल्ट स्थापना डिफ़ॉल्ट रूप से कोई भी परिवर्तन / बदलाव करने की अनुमति नहीं देती है । आपको /etc/vsftpd.confनिम्न पंक्ति को संपादित करने और अनसुना करने की आवश्यकता है ...

write_enable=YES

और दूसरी बात आपको संबंधित फाइलों और फ़ोल्डरों पर उपयुक्त फाइल-सिस्टम अनुमतियों को कॉन्फ़िगर करने की आवश्यकता है।

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