Ubuntu मा FTP सर्वर कसरी बनाउने [vsftpd सुरक्षित गाइड]

目次

1. परिचय

Ubuntu मा FTP सर्भर निर्माण गर्नु फाइलहरूको कुशल रूपमा पठाउने र प्राप्त गर्ने चाहने डेभलपरहरू वा प्रशासकहरूका लागि अत्यन्त व्यावहारिक माध्यम हो। विशेष गरी, घरेलु सर्भर वा कम्पनीभित्रको सरल फाइल साझेदारी वातावरण निर्माण गर्न चाहने अवस्थामा, FTP (File Transfer Protocol) सरल र लागू गर्न सजिलो विकल्प हो।

FTP सर्भर भनेको के हो?

FTP सर्भर भनेको इन्टरनेट वा स्थानीय नेटवर्क मार्फत फाइलहरू पठाउने र प्राप्त गर्ने लागि विशेष सर्भर सफ्टवेयर हो। प्रयोगकर्ताहरूले FTP क्लाइन्ट सफ्टवेयर प्रयोग गरेर सर्भरमा जडान गरेर फाइलहरू अपलोड गर्न वा डाउनलोड गर्न सक्छन्। केही ठाउँमा SFTP वा SCP जस्ता सुरक्षित माध्यमहरू पनि लोकप्रिय छन्, तर FTP को सरलता र हल्कापनका कारण, यो अझै पनि धेरै प्रयोजनहरूमा छानिन्छ। विशेष गरी सीमित नेटवर्कभित्रको प्रयोग वा सरल प्रयोजनहरूमा, यो अझै पनि व्यावहारिक उच्च प्रोटोकल हो।

Ubuntu मा FTP सर्भरको भूमिका

Ubuntu धेरै प्रयोगकर्ताहरूले समर्थन गरेको लिनक्स डिस्ट्रीब्युसन हो र सर्भर प्रयोजनहरूमा पनि व्यापक रूपमा प्रयोग गरिन्छ। Ubuntu वातावरणमा FTP सर्भर निर्माण गरेर, धेरै टर्मिनलहरू वा प्रयोगकर्ताहरूबीच फाइल साझेदारी सजिलो हुन्छ। उदाहरणका लागि निम्न अवस्थाहरूमा प्रभावकारी हुन्छ:
  • वेब सर्भरमा फाइल स्थानान्तरण
  • Raspberry Pi जस्ता IoT उपकरणहरूसँगको सहकार्य
  • कम्पनीभित्रका कागजातहरूको साझेदारी
यसरी, Ubuntu र FTP सर्भरको संयोजनले लचिलो र कुशल फाइल व्यवस्थापन सम्भव बनाउँछ।

यो लेखको उद्देश्य र लक्षित पाठकहरू

यो लेखमा, Ubuntu मा FTP सर्भर निर्माण गर्ने विधिबारे, शुरुआतीहरूलाई पनि बुझ्ने गरी चरणबद्ध रूपमा व्याख्या गरिनेछ। विशेष गरी, निम्न जस्ता पाठकहरूलाई लक्षित सामग्री हो:
  • Ubuntu को आधारभूत सञ्चालनमा अभ्यस्त तर FTP पहिलो पटक ह्यान्डल गर्नेहरू
  • स्थानीय वा सरल कार्यालय प्रयोजनका लागि FTP सर्भर निर्माण गर्न चाहनेहरू
  • सुरक्षा वा जापानी फाइल नामहरूको क्यारेक्टर समस्या जस्ता सावधानीहरू पनि जान्न चाहनेहरू
अब प्रस्तुत गर्ने चरणहरूलाई क्रमशः कार्यान्वयन गरेर, सुरक्षित र व्यावहारिक FTP सर्भर वातावरण निर्माण गर्न सकिन्छ। अर्को सेक्सनमा, FTP सर्भरहरू मध्ये विशेष रूपमा लोकप्रिय ‘vsftpd’ को स्थापना बाट व्याख्या सुरु गरिनेछ।
侍エンジニア塾

2. vsftpd को स्थापना

Ubuntu मा FTP सर्वर निर्माण गर्दा, सबैभन्दा सामान्यतया प्रयोग गरिने सफ्टवेयर vsftpd (Very Secure FTP Daemon) हो। नाम अनुसार “अत्यन्त सुरक्षित” डिजाइन दर्शन भएको FTP सर्वर हो, हल्का र स्थिर भएकोले कम्पनी वा शैक्षिक संस्थाहरूको वातावरणमा पनि व्यापक रूपमा अपनाइएको छ। यो सेक्सनमा, Ubuntu मा vsftpd स्थापना गर्ने प्रक्रिया र सेवाको सुरुवात तथा स्वचालित सुरुवातको सेटिङबारे व्याख्या गर्दछौं।

vsftpd स्थापना गर्ने

पहिले, Ubuntu को प्याकेज व्यवस्थापन प्रणाली (APT) प्रयोग गरेर vsftpd स्थापना गर्नुहोस्। निम्न प्रक्रियाहरूलाई क्रमानुसार निष्पादन गर्नुहोस्।
sudo apt update
sudo apt install vsftpd
  • sudo apt update:प्याकेज जानकारीलाई अपडेट गर्दछ।
  • sudo apt install vsftpd:vsftpd प्याकेज स्थापना गर्दछ।
स्थापना सम्पन्न भएपछि, vsftpd स्वचालित रूपमा सुरु अवस्थामा पुग्छ।

सेवाको अवस्था जाँच्ने

vsftpd ले सही रूपमा स्थापना भई कार्य गरिरहेको छ वा छैन जाँच्न, निम्न कमान्ड प्रयोग गर्नुहोस्।
sudo systemctl status vsftpd
यो कमान्डले “active (running)” देखाएमा, FTP सर्वर सामान्य रूपमा कार्य गरिरहेको छ।

स्वचालित सुरुवातको सेटिङ जाँच्ने र सक्रिय गर्ने

vsftpd सामान्यतया स्थापना तुरुन्तै स्वचालित सुरुवात सक्रिय हुन्छ, तर सावधानीका लागि जाँचौं।
sudo systemctl enable vsftpd
यो कमान्ड निष्पादन गर्दा, अर्को सुरुवातमा पनि vsftpd स्वचालित रूपमा सुरु हुन्छ।

फायरवाल (UFW) को सेटिङ बिर्सनुहुन्न

यदि Ubuntu मा UFW (Uncomplicated Firewall) सक्रिय छ भने, FTP पोर्ट खोल्न आवश्यक छ।
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
यसले FTP को मानक पोर्ट 20 (डाटा)21 (कमान्ड) लाई बाहिरबाट पहुँचयोग्य बनाउँछ। सेटिङ पछि, UFW लाई पुनः लोड गरेर प्रतिबिम्बित गर्नुहोस्।
sudo ufw reload

३. आधारभूत सेटिङ

vsftpd को स्थापना सम्पन्न भएपछि, अब सेटिङ फाइलको सम्पादन मार्फत FTP सर्भरको कार्यलाई आफ्नो आवश्यकता अनुसार अनुकूलित गर्नुहोस्। vsftpd को सेटिङ फाइलले अत्यन्त विस्तृत नियन्त्रण गर्न सकिन्छ तर प्रारम्भिक अवस्थामा प्रतिबन्धहरू धेरै छन्, त्यसैले आवश्यक सुविधाहरूलाई स्पष्ट रूपमा सक्रिय गर्न आवश्यक छ। यो खण्डमा, प्रमुख आधारभूत सेटिङ वस्तुहरूबारे व्याख्या गरिन्छ।

सेटिङ फाइलको स्थान

vsftpd को मुख्य सेटिङ फाइल निम्नानुसार छ।
/etc/vsftpd.conf
सेटिङ परिवर्तन गर्न, निम्नानुसार फाइल सम्पादन गर्नुहोस्।
sudo nano /etc/vsftpd.conf
परिवर्तन पछि vsftpd को पुन: सुरुवात आवश्यक हुन्छ।
sudo systemctl restart vsftpd

लेखन अनुमति दिनुहोस् (अपलोड आदि)

vsftpd को प्रारम्भिक सेटिङमा, FTP सर्भरमा फाइल अपलोड वा सम्पादन गर्न सकिँदैन। लेखन अनुमति दिन, निम्न लाइन सक्रिय गर्नुहोस्।
write_enable=YES
यो सेटिङबाट, प्रयोगकर्ताले आफ्नो होम डाइरेक्टरी भित्र फाइलहरू अपलोड, हटाउन र परिवर्तन गर्न सक्नेछन्।

स्थानीय प्रयोगकर्ताको लगइन अनुमति दिनुहोस्

Ubuntu को प्रयोगकर्ता खाता प्रयोग गरेर FTP मा लगइन गर्न, निम्न सेटिङ आवश्यक छ।
local_enable=YES
यो सेटिङ गरेपछि, /etc/passwd मा दर्ता भएका स्थानीय प्रयोगकर्ता (प्रणाली प्रयोगकर्ता) ले FTP मार्फत लगइन गर्न सक्नेछन्।

डाइरेक्टरी सूची प्राप्त गर्न सम्भव बनाउनुहोस्

FTP क्लाइन्टमा फाइल वा डाइरेक्टरीको सूची प्राप्त गर्न नसकिने अवस्थामा, निम्न सेटिङ जाँच गर्नुहोस्।
listen=YES
listen_ipv6=NO
विशेष गरी IPv6 अक्षम वातावरणमा listen_ipv6=YES नै रहँदा, जडान समस्याको कारण बन्न सक्छ।

लगइन समयको ब्यानर सेट गर्नुहोस् (वैकल्पिक)

FTP मा जडान गर्दा देखिने सन्देश (ब्यानर) सेट गर्न सकिन्छ।
ftpd_banner=Welcome to your custom Ubuntu FTP server!
व्यवसायिक प्रयोग आदि लागि, सञ्चालकको सम्पर्क वा सावधानीहरू प्रेषण गर्ने माध्यमको रूपमा उपयोग गर्न सकिन्छ।

ASCII मोड स्थानान्तरणको अनुमति (आवश्यक अवस्थामा)

विशिष्ट टेक्स्ट फाइलहरू (उदाहरण: Windows को लाइन ब्रेक कोड समावेश स्क्रिप्ट आदि) लाई सही रूपमा स्थानान्तरण गर्न चाहनुहुन्छ भने, निम्न सेट गर्नुहोस्।
ascii_upload_enable=YES
ascii_download_enable=YES
सामान्यतया बाइनरी स्थानान्तरणमा समस्या हुँदैन, तर वातावरण अनुसार सक्रिय गर्ने विचार गर्नुहोस्। यसरी, vsftpd को आधारभूत सेटिङमा ‘के अनुमति दिने’ लाई स्पष्ट रूपमा निर्दिष्ट गर्ने विशेषता छ। सेटिङ फाइलको सम्पादन समाप्त भएपछि, अवश्य vsftpd को पुन: सुरुवात गरेर परिवर्तन प्रतिबिम्बित गर्नुहोस्। अर्को खण्डमा, थप उन्नत सुरक्षा सेटिङबारे विस्तृत व्याख्या गरिन्छ। विशेष गरी सार्वजनिक नेटवर्कमा FTP सञ्चालन गर्ने अवस्थामा, सुरक्षा उपायहरू अनिवार्य छन्।

4. सुरक्षाको सुदृढीकरण

FTP एक सुविधाजनक प्रोटोकल हो, तर सञ्चार सामग्री एन्क्रिप्ट गरिएको हुँदैन भन्ने विशेषताका कारण, सुरक्षाको दृष्टिकोणबाट चिन्ता बाँकी रहन्छ। विशेष गरी, इन्टरनेट मार्फत सञ्चालन गर्ने अवस्थामा, मजबुत सुरक्षा सेटिङ आवश्यक छ। यो खण्डमा, vsftpd मा लागू गर्न सकिने प्रमुख सुरक्षा उपायहरू प्रस्तुत गर्दछौं।

chroot बाट प्रयोगकर्ताको पहुँच दायरा सीमित गर्ने

FTP मा लगइन गरेका प्रयोगकर्ताले अन्य डाइरेक्टरीहरूमा पहुँच गर्न सक्नु अत्यन्त खतरनाक छ। त्यसैले, प्रत्येक प्रयोगकर्ताका लागि होम डाइरेक्टरीमा कैद गर्ने (chroot) सेटिङ गर्दछौं। निम्न दुई सेटिङहरूलाई सक्रिय बनाउनुहोस्।
chroot_local_user=YES
allow_writeable_chroot=YES
  • chroot_local_user=YES बाट, स्थानीय प्रयोगकर्ताले आफ्नो होम डाइरेक्टरी भन्दा माथि जान सक्दैनन्।
  • allow_writeable_chroot=YES vsftpd को सुरक्षा प्रतिबन्धलाई नरम पार्नका लागि सेटिङ हो, होम डाइरेक्टरीमा लेखन अनुमति भएको अवस्थामा आवश्यक छ।
※ यो नभएमा, “500 OOPS: vsftpd: refusing to run with writable root inside chroot” जस्तो त्रुटि हुन्छ।

पहुँचयोग्य प्रयोगकर्ताहरूलाई सीमित गर्ने

सबै स्थानीय प्रयोगकर्ताले FTP मा लगइन गर्न सक्ने अवस्थामा, अप्रत्याशित सूचना चुहावट हुन सक्छ। त्यसैले, FTP मा पहुँचयोग्य प्रयोगकर्ताहरूलाई ह्वाइटलिस्ट तरिकाले नियन्त्रण गर्दछौं। पहिले, निम्न सेटिङहरूलाई vsftpd.conf मा थप्नुहोस्।
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
पछि, लगइन अनुमति दिन चाहिने प्रयोगकर्ताहरूलाई /etc/vsftpd.userlist मा एक-एक लाइनमा लेख्नुहोस्।
sudo nano /etc/vsftpd.userlist
(उदाहरण)
ftpuser1
ftpuser2
यो सेटिङबाट, स्पष्ट रूपमा सूचीमा दर्ता भएका प्रयोगकर्ताहरू मात्र लगइन गर्न सक्छन्

FTPS (SSL/TLS) बाट एन्क्रिप्टेड सञ्चारको परिचय

मानक FTP ले प्लेन टेक्स्ट सञ्चार गर्दछ, त्यसैले ID·पासवर्ड वा डाटा चोर्ने जोखिम छ। यसलाई टार्नका लागि, FTPS (FTP over SSL/TLS) प्रयोग गरेर सञ्चारलाई एन्क्रिप्ट गर्दछौं। पहिले, SSL प्रमाणपत्र सिर्जना गर्नुहोस् (वा विद्यमान प्रमाणपत्र प्रयोग गर्नुहोस्)।
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
पछि, निम्न सेटिङहरूलाई vsftpd.conf मा थप्नुहोस्।
ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
यसबाट, FTP क्लाइन्ट पक्षमा पनि “FTPS (स्पष्ट SSL)” को रूपमा जडान गर्न सकिन्छ।

अनावश्यक कार्यक्षमताहरूलाई निष्क्रिय गर्ने

सुरक्षालाई उच्च बनाउनका लागि, न प्रयोग गर्ने कार्यक्षमताहरूलाई सक्रिय रूपमा निष्क्रिय गर्ने पनि महत्वपूर्ण छ। उदाहरण:
anonymous_enable=NO
अनाम प्रयोगकर्ताद्वारा लगइनलाई निषेध गर्दछ (डिफल्ट रूपमा निष्क्रिय छ तर स्पष्ट रूपमा सेट गर्दा बढी सुरक्षित हुन्छ)। यी सेटिङहरूबाट, Ubuntu मा vsftpd FTP सर्भरले आधारभूत सुरक्षा उपायहरू प्राप्त गर्दछ। विशेष गरी, इन्टरनेट मार्फत प्रयोग गर्ने अवस्थामा FTPS को परिचय अनिवार्य छ। अर्को अध्यायमा, जापानी फाइल नाम सम्बन्धी क्यारेक्टर समस्या समाधानलाई विस्तृत रूपमा व्याख्या गर्दछौं। FTP सञ्चालनमा उपेक्षा गरिने बिन्दु हो तर, समस्या रोक्नका लागि अत्यन्त महत्वपूर्ण छ।

5. जापानी फाइल नामको व्यवस्थापन

FTP प्रयोग गरेर फाइलहरूको पठाउने र प्राप्त गर्ने क्रममा, जापानी फाइल नामहरू अक्षरहरू विकृत हुने समस्या सामना गर्न सकिन्छ। विशेष गरी, Windows र Ubuntu बीच FTP मार्फत अन्तर्क्रिया गर्दा, एन्कोडिङको असंगतिताको कारणले “???” वा अर्थहीन स्ट्रिङहरू बन्न सक्छन्। यो खण्डमा, vsftpd मा जापानी फाइल नामहरूको अक्षर विकृति टार्नका लागि उपायहरू प्रस्तुत गरिन्छ।

अक्षर विकृतिको मुख्य कारणहरू

जापानी फाइल नामहरूको अक्षर विकृति मुख्य रूपमा निम्नलिखित तीन कारणहरूबाट उत्पन्न हुन्छ।
  1. Ubuntu पक्षको लोकेल सेटिङ UTF-8 बाहेक भएको
  2. FTP क्लाइन्टको एन्कोडिङ सेटिङ मेल नखाएको
  3. vsftpd ले UTF-8 समर्थनमा काम नगरेको
यीहरूलाई क्रमशः जाँच गरी व्यवस्थित गर्नु महत्वपूर्ण छ।

Ubuntu को लोकेल जाँच र सेटिङ गर्ने

पहिले, Ubuntu पक्षको अक्षर कोड UTF-8 भएको जाँच गर्नुहोस्। निम्न कमान्डले वर्तमान लोकेल देखाउँछ।
locale
उत्पत्ति उदाहरण:
LANG=ja_JP.UTF-8
LANG वा LC_ALL UTF-8 नभएमा, निम्नानुसार परिवर्तन र पुनर्सेटिङ गर्नुहोस्।
sudo update-locale LANG=ja_JP.UTF-8
source /etc/default/locale
थपिएमा, लोकेल उत्पन्न गर्नुहोस्।
sudo locale-gen ja_JP.UTF-8
यसले, सर्भर भित्रका फाइल नामहरूको प्रक्रिया UTF-8 मा एकरूप हुन्छ।

vsftpd को UTF-8 सेटिङ जाँच गर्ने

vsftpd डिफल्ट रूपमा UTF-8 समर्थन गर्दछ, तर सावधानीका लागि निम्न सेटिङ जाँच गर्नुहोस्।
utf8_filesystem=YES
यो सेटिङ वस्तु नभए पनि, प्रणाली UTF-8 मा काम गर्दैछ भने विशेष समस्या हुँदैन। तथापि, vsftpd को संस्करण अनुसार यो वस्तु समर्थित नहुन सक्छ।

FTP क्लाइन्ट पक्षको सेटिङ (FileZilla संस्करण)

FTP क्लाइन्टको सेटिङ पनि अत्यन्त महत्वपूर्ण छ। उदाहरणका लागि, FileZilla प्रयोग गरेर जडान गर्दा, निम्नानुसार सेटिङ गर्नुहोस्।
  1. साइट व्यवस्थापक खोल्नुहोस्
  2. जडान गन्तव्यको सेटिङ खोल्नुहोस्
  3. “अक्षर सेट” ट्याब छान्नुहोस्
  4. “कस्टम अक्षर सेट प्रयोग गर्ने” छान्नुहोस् र UTF-8 प्रविष्ट गर्नुहोस्
यो सेटिङबाट, क्लाइन्ट पक्षले सही रूपमा UTF-8 को रूपमा सर्भरको फाइल नाम व्याख्या गर्दछ र अक्षर विकृति रोक्न सक्छ।

थप: अन्य OS बाट अपलोड गर्दा ध्यान दिनुपर्ने कुराहरू

Windows आदि मार्फत सिर्जना गरिएका फाइलहरू अपलोड गर्दा, प्रणालीले Shift_JIS जस्ता फरक अक्षर कोड प्रयोग गर्दा, अपलोडको समयमा नाम भ्रष्ट हुन सक्छ। यस्तो अवस्थामा, पहिले नै फाइल नामलाई UTF-8 मा रूपान्तरण गरेर अपलोड गर्नु सुरक्षित हुन्छ। कमान्ड लाइनमा convmv जस्ता उपकरणहरू प्रयोग गर्न सकिन्छ।

सारांश

FTP मा जापानी फाइल नामहरू ह्यान्डल गर्दा, “सर्भर र क्लाइन्ट दुवै पक्षको अक्षर कोड मेल खाएको” हुनु कुञ्जी हो। Ubuntu मा UTF-8 लाई मानक मान्दै, FTP क्लाइन्ट पक्षमा UTF-8 लाई स्पष्ट रूपमा निर्दिष्ट गरेर, अधिकांश अक्षर विकृति रोक्न सकिन्छ। अर्को अध्यायमा, प्यासिभ मोड र फायरवाल सेटिङ बारे व्याख्या गरिन्छ। विशेष गरी राउटर वा क्लाउड वातावरणमा FTP प्रयोग गर्दा, जडान नहुने समस्यालाई टार्नका लागि महत्वपूर्ण सेटिङ हो।

6. प्यासिभ मोड र फायरवालको सेटिङ

FTP सर्भरलाई इन्टरनेट मार्फत वा NAT वातावरण (राउटर अन्तर्गत) मा सञ्चालन गर्दा, प्रायः हुने समस्याहरू मध्ये एक हो “जडान हुन सक्छ तर फाइल सूची प्राप्त गर्न सकिँदैन” “डाटा ट्रान्सफर असफल हुन्छ” जस्ता घटनाहरू। यी धेरैजसो FTP को सञ्चालन मोड (एक्टिभ/प्यासिभ) र फायरवालको सेटिङ उपयुक्त नहुनु कारण हो। यो सेक्सनमा, vsftpd मा प्यासिभ मोडलाई सक्रिय गर्ने विधि र आवश्यक पोर्टहरूको फायरवाल सेटिङबारे व्याख्या गरिन्छ।

प्यासिभ मोड भनेको के हो?

FTP मा “एक्टिभ मोड” र “प्यासिभ मोड” दुई प्रकारका सञ्चार मोडहरू छन्।
  • एक्टिभ मोड:सर्भरबाट क्लाइन्टतर्फ जडान प्रयास गर्ने
  • प्यासिभ मोड:क्लाइन्टबाट सर्भरतर्फको जडान मात्रले पूर्ण हुने (NAT वा फायरवाल पारको सञ्चारमा बलियो)
आधुनिक नेटवर्क वातावरणमा, प्यासिभ मोडलाई सिफारिस गरिन्छ। vsftpd मा पनि, प्यासिभ मोडका लागि स्पष्ट रूपमा सेटिङ गर्न आवश्यक छ।

vsftpd मा प्यासिभ मोडलाई सक्रिय गर्ने

/etc/vsftpd.conf मा निम्न सेटिङहरू थप्नुहोस् वा सम्पादन गर्नुहोस्।
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
यसले, vsftpd लाई प्यासिभ मोडमा सञ्चालन हुने र डाटा ट्रान्सफरका लागि ४०००० देखि ५०००० नम्बर पोर्टहरू प्रयोग गर्ने बनाउँछ। यो दायरा वैकल्पिक छ तर, सामान्यतया २० देखि ३० पोर्टहरू आरक्षित राख्नु उपयुक्त हुन्छ।

बाह्य IP ठेगाना निर्दिष्ट गर्ने (NAT वातावरणका लागि)

सर्भर राउटर अन्तर्गत जस्ता NAT वातावरणमा रहेको अवस्थामा, क्लाइन्टले सही रूपमा जडान गर्न सकून् भनेर, बाह्यबाट देखिने ग्लोबल IP ठेगाना लाई स्पष्ट रूपमा निर्दिष्ट गर्न आवश्यक छ।
pasv_address=203.0.113.45
※ माथिको IP ठेगाना उदाहरण हो। वास्तविक ग्लोबल IP मा प्रतिस्थापन गर्नुहोस्। यो सेटिङले, FTP क्लाइन्टले vsftpd बाट पठाइएको सही ठेगाना जानकारी लाई आधार मानेर डाटा जडान प्रयास गर्न सक्छ।

फायरवाल (UFW) को सेटिङ

vsftpd ले प्रयोग गर्ने पोर्टहरूलाई, Ubuntu को फायरवाल (UFW) मा खोल्नुहोस्। निम्न कमान्डहरू कार्यान्वयन गर्नुहोस्।
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
  • 20/tcp:FTP को डाटा च्यानल (एक्टिभ मोडका लागि)
  • 21/tcp:FTP को कमान्ड च्यानल (लगइन-कमान्ड पठाउने)
  • 40000:50000/tcp:प्यासिभ मोडमा डाटा ट्रान्सफरका लागि पोर्ट दायरा
सेटिङ पछि, UFW लाई पुनः लोड गरेर प्रतिबिम्बित गर्नुहोस्।
sudo ufw reload

क्लाउड वातावरणमा ध्यान दिनुपर्ने कुराहरू (AWS, GCP, Azure आदि)

क्लाउड इन्स्टान्समा FTP सञ्चालन गर्दा, OS तर्फको UFW मात्र होइन, क्लाउड तर्फको सिक्युरिटी ग्रुप (फायरवाल) मा पनि उही पोर्टहरू खोल्न आवश्यक छ। उदाहरण: AWS को अवस्थामा → सिक्युरिटी ग्रुपमा 21, 40000-50000 का TCP पोर्टहरूलाई अनुमति दिनुहोस्

सारांश

FTP लाई व्यावहारिक रूपमा सञ्चालन गर्नका लागि, vsftpd को प्यासिभ मोड सेटिङनेटवर्क वातावरण अनुसारको पोर्ट खोल्ने अनिवार्य छ। विशेष गरी बाह्य नेटवर्कबाट जडान गर्दा, सञ्चार असफलता वा टाइमआउटका धेरै कारणहरू यहाँ छन्। अर्को अध्यायमा, FTP प्रयोगकर्ता प्रत्येकलाई अलग-अलग पहुँच अधिकार वा डाइरेक्टरी प्रतिबन्ध सेट गर्ने विधिबारे व्याख्या गरिन्छ। बहु-प्रयोगकर्ता सञ्चालन वा अधिकार व्यवस्थापनमा उपयोगी सामग्री हो।

7. प्रयोगकर्ता-विशिष्ट सेटिङहरू

FTP सर्भरलाई वास्तविक सञ्चालन वातावरणमा प्रयोग गर्दा, धेरै प्रयोगकर्ताहरूका लागि फरक पहुँच अनुमतिहरू वा निर्देशिकाहरू आवंटन गर्न चाहिने अवस्थाहरू धेरै हुन्छन्। उदाहरणका लागि, प्रत्येक विभाग वा व्यक्तिगत प्रयोगकर्ताका लागि समर्पित फोल्डरहरू स्थापना गर्नु वा अन्य प्रयोगकर्ताहरूको फाइलहरूमा पहुँच गर्न नसक्ने गरी प्रतिबन्ध लगाउनु आवश्यक पर्छ। यो खण्डमा, vsftpd मा प्रयोगकर्ता एकाइमा सेटिङहरूलाई विभाजन गरेर व्यवस्थापन गर्ने विधि परिचय गरिन्छ।

समर्पित FTP प्रयोगकर्ता सिर्जना गर्नुहोस्

पहिले FTP-समर्पित प्रयोगकर्ता खाता सिर्जना गर्नुहोस्। होम निर्देशिका निर्दिष्ट गरेर नयाँ सिर्जना गर्नु सामान्य हो।
sudo adduser ftpuser1
यो कमान्डले, /home/ftpuser1 मा समर्पित निर्देशिका सिर्जना हुन्छ। FTP उद्देश्यका लागि मात्र प्रयोग गर्दा, शेललाई असक्षम बनाएर लगइनलाई प्रतिबन्ध लगाउन सकिन्छ।
sudo useradd -m -s /usr/sbin/nologin ftpuser2

होम निर्देशिकाको अनुमति सेटिङ

FTP का लागि होम निर्देशिका vsftpd को सुरक्षा स्पेसिफिकेसनका कारण “लेख्न सकिने chroot निर्देशिका” अनुमति नभएकोले, निम्न जस्तो संरचना बनाउनु सिफारिस गरिन्छ।
/home/ftpuser1/
├── files/  ← लेखन अनुमति दिनुहोस् (अपलोड आदि)
निम्न अनुसार अनुमतिहरू समायोजन गर्नुहोस्:
sudo mkdir /home/ftpuser1/files
sudo chown ftpuser1:ftpuser1 /home/ftpuser1/files
sudo chmod 755 /home/ftpuser1
यसले, रूट निर्देशिका (/home/ftpuser1) मा लेखन असम्भव हुन्छ, र तलको files/ मा अपलोड सम्भव हुने सुरक्षित संरचना बन्छ।

chroot बाट प्रयोगकर्तालाई निर्देशिकामा फिक्स गर्नुहोस्

अघिल्लो अध्यायमा पनि परिचय गरिएको chroot_local_user=YES सेटिङ गरेर, FTP लगइन प्रयोगकर्ताले होम निर्देशिकाभन्दा माथिल्लो तहमा पहुँच गर्न सक्दैन।
chroot_local_user=YES
allow_writeable_chroot=YES
यो सेटिङले, अन्य प्रयोगकर्ताहरूको क्षेत्रलाई गल्तीले ब्राउज वा परिवर्तन गर्नबाट रोक्न सकिन्छ।

प्रयोगकर्ता-विशिष्ट सेटिङ फाइल प्रयोग गर्नुहोस् (विस्तृत नियन्त्रण)

vsftpd मा, प्रयोगकर्ता अनुसार व्यक्तिगत सेटिङहरू लागू गर्ने सुविधा पनि तयार छ। यसले, पहुँच प्रतिबन्ध, लग रेकर्ड, कनेक्सन समय आदि नीतिहरूलाई विस्तृत रूपमा विभाजन गरेर सञ्चालन गर्न सकिन्छ। पहिले, निम्न अनुसार सेट गर्नुहोस्।
user_config_dir=/etc/vsftpd_user_conf
पछि, निर्दिष्ट निर्देशिकामा व्यक्तिगत सेटिङ फाइल सिर्जना गर्नुहोस्।
sudo mkdir /etc/vsftpd_user_conf
sudo nano /etc/vsftpd_user_conf/ftpuser1
उदाहरण:
local_root=/home/ftpuser1/files
write_enable=YES
यसले, ftpuser1 का लागि /home/ftpuser1/files लाई रूट बनाउने गरी सीमित गर्न सकिन्छ, र लेखन सम्भाव्यता आदि अन्य प्रयोगकर्तासँग अलग गर्न सकिन्छ।

SFTP सँग संयोजन गर्दा ध्यान दिनुपर्ने कुराहरू

vsftpd बाहेक, OpenSSH को सुविधा प्रयोग गरेर SFTP (SSH-आधारित FTP) संयोजन गर्दा, प्रयोगकर्ताको शेल वा सम्बन्धित समूह आदि अवस्थाहरू फरक हुने भएकाले, सेटिङहरूलाई अलग गरेर व्यवस्थापन गर्न सिफारिस गरिन्छ।

सारांश

vsftpd मा, प्रयोगकर्ता अनुसार लचिलो निर्देशिका नियन्त्रण वा पहुँच अनुमतिहरूको सेटिङ सम्भव छ। उपयुक्त प्रयोगकर्ता व्यवस्थापनबाट, सुरक्षा र सुविधाको दुवै सन्तुलन कायम राख्न सकिन्छ। अर्को अध्यायमा, FTP सर्भरको सञ्चालन जाँच विधिबारे व्याख्या गरिन्छ। वास्तवमा क्लाइन्टबाट कनेक्ट गरेर, फाइल अपलोड वा डाउनलोड सामान्य रूपमा हुन सक्छ कि जाँच गरौं।

8. कार्य सत्यापन

अहिलेसम्म, FTP सर्भरको स्थापना, सेटिङ र प्रयोगकर्ता व्यवस्थापन पूरा भएको छ। अन्तमा महत्वपूर्ण कुरा भनेको, वास्तवमा FTP सर्भर सही रूपमा काम गरिरहेको छ वा छैन भनेर जाँच गर्नु हो। यो खण्डमा, स्थानीय वातावरण र FTP क्लाइन्ट प्रयोग गरेर कनेक्सन जाँच गर्ने विधिहरू प्रस्तुत गर्दछौं।

स्थानीय वातावरणमा कनेक्सन जाँच (कमाण्ड लाइन संस्करण)

Ubuntu आफैंबाट FTP कनेक्सन सम्भव छ वा छैन भनेर जाँच गर्न, ftp कमाण्ड प्रयोग गरेर परीक्षण गर्नुहोस्। तलको जस्तै कनेक्ट गर्नुहोस्।
ftp localhost
लगइन प्रोम्प्ट देखिएपछि, पहिले बनाएको FTP प्रयोगकर्ता नाम र पासवर्ड 입력 गर्नुहोस्।
Name (localhost:username): ftpuser1
Password: ********
लगइन पछि, निम्न कमाण्डहरू प्रयोग गरेर आधारभूत सञ्चालन परीक्षण गर्न सकिन्छ।
ls            # फाइल सूची देखाउनुहोस्
cd files      # डाइरेक्टरी परिवर्तन गर्नुहोस्
put test.txt  # फाइल अपलोड गर्नुहोस्
get test.txt  # फाइल डाउनलोड गर्नुहोस्
सही रूपमा काम गरेमा, FTP सर्भर समस्या बिना निर्माण भएको छ। ※ ध्यान दिनुहोस्: हालका Ubuntu मा ftp कमाण्ड गैर-अनुशंसित भएकोले, lftp वा ncftp जस्ता क्लाइन्टहरू स्थापना गरेर प्रतिस्थापन गर्न सकिन्छ।

GUI क्लाइन्टबाट कनेक्सन जाँच (FileZilla संस्करण)

सामान्य प्रयोगकर्ता वा जटिल डाइरेक्टरी संरचना जाँचका लागि, FileZilla जस्ता GUI FTP क्लाइन्टहरू सुविधाजनक छन्। तल सेटिङ प्रक्रिया उल्लेख गरिएको छ।

FileZilla मा कनेक्सन प्रक्रिया:

  1. FileZilla लाई सुरु गर्नुहोस् र “साइट व्यवस्थापक” खोल्नुहोस्
  2. “नयाँ साइट” सिर्जना गर्नुहोस्
  3. निम्नानुसार 입력 गर्नुहोस्
सेटिङ आइटमसामग्री
होस्टसर्भरको IP ठेगाना वा डोमेन नाम
प्रोटोकलFTP – File Transfer Protocol
एन्क्रिप्सनस्पष्ट FTP over TLS (FTPS प्रयोग गर्दा)
लगइनको प्रकारसामान्य
प्रयोगकर्ताftpuser1 जस्ता बनाइएको प्रयोगकर्ता नाम
पासवर्डमाथि उल्लेखित प्रयोगकर्ताको पासवर्ड
  1. “कनेक्ट” बटन क्लिक गर्नुहोस्
कनेक्सन पछि, फाइल सूची वा डाइरेक्टरी संरचना देखिएमा सफल छ। अपलोड/डाउनलोड सञ्चालन पनि जाँच गर्नुहोस्।

FTP कनेक्सन समयका सामान्य समस्या र जाँच बिन्दुहरू

समस्याजाँच बिन्दु
कनेक्ट हुन सक्दैनफायरवाल वा सुरक्षा समूहको पोर्ट खोल्ने जाँच गर्नुहोस्
लगइन असफल (530 Login incorrect)प्रयोगकर्ता नाम/पासवर्ड सही छ वा छैन, vsftpd.userlist जाँच गर्नुहोस्
फाइल सूची देखिँदैनप्यासिभ मोड सक्रिय छ वा पोर्ट दायरा खुला छ भनेर जाँच गर्नुहोस्
फाइल नाम क्यारेक्टर भ्रष्ट हुन्छUTF-8 सेटिङ, क्लाइन्टको क्यारेक्टर कोड सेटिङ पुन:जाँच गर्नुहोस्

लग फाइलबाट अवस्था जाँच गर्नुहोस्

समस्या समाधान नभएमा, vsftpd को लग फाइल जाँच गरेर कारण पहिचान गर्न सकिन्छ।
cat /var/log/vsftpd.log
अन्य, प्रणाली स्तरको लगका लागि निम्न प्रयोग गर्नुहोस्।
sudo journalctl -u vsftpd
यी जानकारीहरूबाट, “कहिले” “कसले” “के गरे” “कहाँ असफल भयो” बुझ्न सजिलो हुन्छ।

अन्य सुझावहरू

  • कनेक्सन अस्थिर भएमा: क्लाइन्ट पक्षको फायरवाल वा एन्टिभाइरसबाट ब्लक भएको शंका गर्नुहोस्।
  • सुरक्षा सुदृढीकरणबाट प्रतिबन्ध: SELinux वा AppArmor ले प्रभावित गरेको केस पनि हुन सक्छ (Ubuntu मा AppArmor सक्रिय हुने सम्भावना बढी छ)।

सारांश

FTP सञ्चालनमा हुने सामान्य त्रुटिहरूमा साझा ढाँचा हुन्छ। हतार नगरी एक-एक जाँच गर्दै, सेटिङ फाइल, प्रयोगकर्ता, फायरवाल, लग का ४ बिन्दुहरू जाँच गरेमा, अधिकांश समस्या समाधान हुन्छ। अर्को अध्यायमा, FTP सञ्चालनमा हुने सामान्य समस्या र तिनको समाधान विधिबारे विस्तृत व्याख्या गर्दछौं। त्रुटि समयको सामना गर्ने विधि थाहा हुँदा, वास्तविक सञ्चालन समयको सामना गर्ने क्षमता उल्लेखनीय रूपमा बढ्छ।

9. समस्या निवारण

FTP सर्भरको निर्माण सम्पन्न भए पनि, वास्तविक सञ्चालनमा विभिन्न त्रुटि वा समस्याहरू उत्पन्न हुन सक्छन्। विशेष गरी, नेटवर्क सेटिङ वा अनुमतिहरू सम्बन्धी गल्तीहरू, सुरक्षा सेटिङबाट हुने प्रतिबन्धहरू आदि कारणले, राम्रोसँग जडान हुन नसक्ने, फाइलहरू स्थानान्तरण हुन नसक्ने जस्ता घटनाहरू हुन सक्छन्। यो खण्डमा, सामान्य त्रुटिहरू र तिनको समाधान विधि लाई केसहरू अनुसार प्रस्तुत गर्दछौं। नयाँ प्रयोगकर्ताहरूले पनि कारण पहिचान गर्न सजिलो होस् र छिटो पुनर्स्थापना गर्न सकियोस् भनेर व्यवस्थित गरिएको छ।

सामान्य त्रुटिहरू र समाधान विधि

त्रुटि:530 Login incorrect

कारण:
  • प्रयोगकर्ता नाम वा पासवर्ड गलत छ
  • /etc/vsftpd.userlist मा प्रयोगकर्ता दर्ता भएको छैन (ह्वाइटलिस्ट सञ्चालनको समयमा)
समाधान विधि:
  • प्रविष्ट सामग्रीलाई पुनः जाँच गर्नुहोस्
  • userlist_deny=NO सेटिङ गरेको अवस्थामा, /etc/vsftpd.userlist मा लगइन अनुमति दिन चाहिने प्रयोगकर्तालाई थप्नुहोस्

त्रुटि:500 OOPS: vsftpd: refusing to run with writable root inside chroot()

कारण:
  • chroot सुविधा सक्रिय अवस्थामा, होम डाइरेक्टरी लेख्न सकिने अवस्थामा छ
समाधान विधि:
  • vsftpd.conf मा निम्नलाई थप्नुहोस्
allow_writeable_chroot=YES
  • वा, होम डाइरेक्टरीलाई लेखन अनुमति नदिई, यसको अधीनस्थ files/ फोल्डर आदिमा लेखन अनुमति सेटिङ गर्ने संरचनामा परिवर्तन गर्नुहोस्

त्रुटि:फाइल सूची प्राप्त गर्न सकिँदैन (समय समाप्त)

कारण:
  • प्यासिभ मोड सेट नभएको, वा आवश्यक पोर्टहरू खुला नभएको
  • NAT वातावरणमा pasv_address सेट नभएको
समाधान विधि:
  • vsftpd.conf मा प्यासिभ मोडको सेटिङ उल्लेख गर्नुहोस्
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
  • ufw वा क्लाउड फायरवालमा 21/tcp, 40000-50000/tcp लाई खोल्नुहोस्

त्रुटि:जापानी फाइल नामहरू क्यारेक्टरहरूमा विकृत हुन्छन्

कारण:
  • क्लाइन्ट पक्षको क्यारेक्टर एनकोडिङ UTF-8 बाहेक छ
  • सर्भर पक्षको लोकेल सेटिङ उपयुक्त छैन
समाधान विधि:
  • Ubuntu को लोकेललाई ja_JP.UTF-8 मा एकरूप गर्नुहोस्, locale-gen बाट उत्पन्न गर्नुहोस्
  • FileZilla जस्ता FTP क्लाइन्टहरूमा क्यारेक्टर सेटलाई “UTF-8” मा म्यानुअल सेटिङ गर्नुहोस्

त्रुटि:vsftpd सुरु हुँदैन

कारण:
  • सेटिङ फाइलमा व्याकरण त्रुटि छ
  • पोर्ट द्वन्द्व आदि कारणले सुरु हुन असफल भएको
समाधान विधि:
  • सेटिङ फाइलको व्याकरण त्रुटि जाँच गर्नुहोस्:टिप्पणीहरूको लेखन विधि, स्पेलिङ गल्तीहरू आदि
  • लग फाइल /var/log/vsftpd.log तथा journalctl -xe बाट विस्तृत त्रुटि सामग्री जाँच गर्नुहोस्

लग फाइलहरूको उपयोग

समस्या निवारणको समयमा, लगहरू जाँच गर्नु सबैभन्दा महत्वपूर्ण छ। vsftpd मा निम्न लगहरू जाँच गर्न सकिन्छ।
cat /var/log/vsftpd.log
अन्य, प्रणाली स्तरका लगहरूका लागि निम्न प्रयोग गर्नुहोस्।
sudo journalctl -u vsftpd
यी जानकारीहरूबाट, “कहिले” “कसले” “के गरे” “कहाँ असफल भयो” लाई सजिलै बुझ्न सकिन्छ।

अन्य सुझावहरू

  • जडान अस्थिर भएको अवस्थामा: क्लाइन्ट पक्षको फायरवाल वा एन्टिभाइरसबाट ब्लक भएको शंका गर्नुहोस्।
  • सुरक्षा सुदृढीकरणबाट हुने प्रतिबन्ध: SELinux वा AppArmor ले प्रभावित गर्ने केसहरू पनि छन् (Ubuntu मा AppArmor सक्रिय हुने सम्भावना बढी छ)।

सारांश

FTP सञ्चालनमा उत्पन्न हुने सजिलै त्रुटिहरूमा सामान्य ढाँचा छन्। घबराहट नगरी एक-एक गरी जाँच गर्नुहोस्, सेटिङ फाइल・प्रयोगकर्ता・फायरवाल・लग को ४ बुँदाहरू जाँच गरेमा, अधिकांश समस्याहरू समाधान हुन सक्छन्। अर्को अध्यायमा, FTP सञ्चालनमा उत्पन्न हुने सजिलै समस्या र तिनको समाधान विधिबारे विस्तृत व्याख्या गर्दछौं। त्रुटि समयको समाधान विधि थाहा पाउनाले, वास्तविक सञ्चालन समयको प्रतिक्रिया क्षमता उल्लेखनीय रूपमा बढ्छ।

10. सारांश

यो लेखमा, Ubuntu मा FTP सर्भर निर्माण गर्ने विधिको रूपमा, हल्का र सुरक्षितvsftpd (Very Secure FTP Daemon) प्रयोग गरेरको प्रक्रियालाई, शुरुआतीहरूलाई पनि बुझिने गरी चरणबद्ध रूपमा व्याख्या गरिएको छ। यहाँ, प्रत्येक खण्डमा सिकेका महत्वपूर्ण बुँदाहरूलाई समीक्षा गर्दै, भविष्यको सञ्चालनका लागि सल्लाह पनि प्रस्तुत गर्दछौं।

निर्माणको प्रवाहलाई समीक्षा गर्नुहोस्

चरणविषयवस्तु
१. स्थापनाapt install vsftpd मार्फत vsftpd स्थापना गर्दै, सेवाको सुरुवात र फायरवाल सेटिङ कार्यान्वयन
२. आधारभूत सेटिङलेखन अनुमति, स्थानीय प्रयोगकर्ताको सक्रियकरण, ब्यानर आदि कस्टमाइजेशन
३. सुरक्षा उपायchroot मार्फत निर्देशिका प्रतिबन्ध, प्रयोगकर्ता नियन्त्रण, FTPS परिचालनले सुरक्षालाई मजबुत बनाउनु
४. जापानी भाषा समर्थनUTF-8 लोकेल सेटिङ र क्लाइन्ट पक्षको 문자 कोड सेटिङले अक्षर विकृति रोक्नु
५. प्यासिभ मोड र फायरवाल सेटिङNAT भन्दा वा क्लाउड वातावरणमा पनि स्थिर सञ्चालनका लागि सेटिङ समायोजन
६. प्रयोगकर्ता व्यवस्थापनव्यक्तिगत प्रयोगकर्ताको निर्देशिका-अधिकार व्यवस्थापनले सुरक्षित साझेदारी वातावरण निर्माण
७. सञ्चालन जाँच र प्रमाणीकरणकमान्ड लाइन वा FileZilla प्रयोग गरेर, वास्तविक सञ्चालन परीक्षण
८. समस्या समाधानसामान्य त्रुटि र तिनका कारण-समाधान विधिलाई अग्रिम बुझेर, तीव्र पुनर्स्थापना सम्भव बनाउनु

भविष्यको सञ्चालनका लागि सल्लाह

FTP सर्भर एकपटक निर्माण गरेपछि लामो समयसम्म प्रयोग गर्न सकिन्छ, तर बेवास्ता गर्नुहुन्न। निम्न बुँदाहरूलाई ध्यानमा राखेर, सुरक्षित र स्थिर सञ्चालन सम्भव हुन्छ।
  • सुरक्षा अपडेटको लागू: vsftpd वा Ubuntu मुख्य प्याकेजहरूलाई नियमित रूपमा अपग्रेड गर्नुहोस्।
  sudo apt update && sudo apt upgrade
  • लगहरूको नियमित जाँच: सन्दिग्ध पहुँच वा असफल लगहरू नभएको /var/log/vsftpd.log निगरानी गर्नुहोस्।
  • आवश्यक नभएका खाताहरू हटाउनु: अस्थायी प्रयोगकर्ता भएमा, प्रयोग पछि तुरुन्तै प्रयोगकर्ता हटाउनुहोस्।
  • SFTP को परिचालन पनि विचार गर्नुहोस्: उच्च सुरक्षाको आवश्यकता भएमा, OpenSSH आधारित SFTP तर्फ स्थानान्तरण पनि विकल्प हुन्छ।

अन्तमा

FTP पुरानो प्रविधि हो तर, यसको सरलताका कारण अझै पनि धेरै अवस्थामा प्रयोग हुन्छ। यो लेखलाई सन्दर्भ बनाएर, आफ्नै सञ्चालन शैली अनुसार FTP सर्भर निर्माण गर्दै, सुरक्षित र आरामदायी फाइल साझेदारी वातावरण तयार गर्नुहोस्। अर्को चरणमा जानका लागि, SFTP वा rsync, WebDAV आदि अन्य स्थानान्तरण प्रोटोकलसँग तुलना लेख आदि सन्दर्भ गर्दा, ज्ञानको दायरा थप फराकिलो हुन्छ।

FAQ (सामान्य सोधिने प्रश्नहरू)

Ubuntu मा FTP सर्भर निर्माण र सञ्चालन गर्दा, धेरै प्रयोगकर्ताहरूले उठाउने शंकाहरूलाई Q&A रूपमा संकलित गरिएको छ। वास्तविक समस्या समाधान वा सेटिङका लागि सुझावहरूको रूपमा उपयोग गर्नुहोस्।

Q1. FTP र FTPS को भिन्नता के हो?

A1. FTP ले सबै सञ्चार सामग्रीलाई सादा पाठ (एन्क्रिप्ट नगरीएको अवस्था) मा पठाउने र प्राप्त गर्ने प्रोटोकल हो। अर्कोतर्फ, FTPS SSL/TLS द्वारा एन्क्रिप्ट गरिएको FTP हो, जसले प्रयोगकर्ता नाम, पासवर्ड वा स्थानान्तरण डाटालाई सुरक्षित रूपमा आदानप्रदान गर्न सक्छ। इन्टरनेट मार्फत सञ्चालन गर्दा FTPS आवश्यक छ।

Q2. किन जापानी फाइल नामहरू गडबड देखिन्छन्?

A2. सर्भर र क्लाइन्टमा क्यारेक्टर कोड (एन्कोडिङ) मेल नखाँदा टेक्स्ट गडबड हुन्छ। Ubuntu सर्भर पक्षलाई UTF-8 मा सेट गर्नुहोस्, र FTP क्लाइन्ट (उदाहरण: FileZilla) पक्षमा पनि UTF-8 प्रयोग गर्ने गरी सेट गर्नुहोस्, यसले रोक्न सकिन्छ।

Q3. Ubuntu मा सुरुदेखि नै FTP सर्भर छ?

A3. होइन। मानक रूपमा FTP सर्भर सफ्टवेयर इन्स्टल गरिएको हुँदैन। apt प्रयोग गरेर vsftpd जस्ता FTP सर्भर इन्स्टल गर्न आवश्यक छ।

Q4. फाइल सूची देखाइँदैन र समय समाप्त हुन्छ। किन?

A4. निष्क्रिय मोड उपयुक्त रूपमा सेट नभएको वा निष्क्रिय पोर्टको फायरवाल खुला नभएको सम्भावना छ। vsftpd.conf मा pasv_enable=YES निर्दिष्ट गर्नुहोस्, pasv_min_portpasv_max_port ले पोर्ट दायरा निर्दिष्ट गर्नुहोस्, र त्यो दायराका पोर्टहरूलाई फायरवालमा पनि खोल्नुहोस्।

Q5. vsftpd को लग कहाँ जाँच गर्न सकिन्छ?

A5. सामान्यतया, लग निम्न फाइलमा रेकर्ड हुन्छ।
/var/log/vsftpd.log
लग रेकर्ड नभएको अवस्थामा, vsftpd.conf मा लग आउटपुट सम्बन्धी सेटिङ (उदा: xferlog_enable=YES) सक्रिय छ कि जाँच गर्नुहोस्।

Q6. FTP प्रयोगकर्तालाई अस्थायी रूपमा असक्षम कसरी गर्ने?

A6. निम्न कुनै एक विधिबाट अस्थायी रूपमा लगइन निषेध गर्न सकिन्छ।
  • /etc/vsftpd.userlist बाट लक्षित प्रयोगकर्तालाई हटाउनुहोस् (ह्वाइटलिस्ट मोड प्रयोग गर्दा)
  • लक्षित प्रयोगकर्ताको शेललाई /usr/sbin/nologin मा परिवर्तन गर्नुहोस्
  • प्रयोगकर्ताको पासवर्डलाई असक्षम गर्नुहोस्:
  sudo passwd -l username

Q7. FTP सर्भर बन्द गर्दा कसरी गर्ने?

A7. vsftpd को सेवा बन्द गर्न, निम्न कमान्ड प्रयोग गर्नुहोस्।
sudo systemctl stop vsftpd
अस्थायी रूपमा बन्द गर्नु मात्र होइन, स्वचालित सुरुवात असक्षम गर्न चाहनुहुन्छ भने निम्न कमान्ड पनि प्रयोग गर्नुहोस्।
sudo systemctl disable vsftpd

Q8. FTP भन्दा सुरक्षित फाइल स्थानान्तरण विधि छ?

A8. हो। प्रतिनिधि उदाहरणमा SFTP (SSH File Transfer Protocol) छ। यो OpenSSH प्रयोग गरेर सुरक्षित फाइल स्थानान्तरण गर्ने प्रोटोकल हो, जसमा पासवर्ड र डाटा सबै एन्क्रिप्ट हुन्छन्। vsftpd बिना नै काम चल्छ, त्यसैले सरल र सुरक्षित सञ्चालन सम्भव छ।
年収訴求