how to Setup FTP Server with VSFTPD on CentOS 8 in hindi - MS TV Life.COM September, 2020

how to Setup FTP Server with VSFTPD on CentOS 8 in hindi

how to Setup FTP Server with VSFTPD on CentOS 8 in hindi

CentOS 8 पर VSFTPD के साथ FTP सर्वर सेटअप करने का तरीका जानें

एफ़टीपी (फाइल ट्रांसफर प्रोटोकॉल) एक क्लाइंट-सर्वर नेटवर्क प्रोटोकॉल है जो उपयोगकर्ताओं को रिमोट मशीन से फाइल को स्थानांतरित करने की अनुमति देता है।

लिनक्स के लिए कई ओपन-सोर्स एफ़टीपी सर्वर उपलब्ध हैं। सबसे लोकप्रिय और आमतौर पर उपयोग किए जाने वाले सर्वर PureFTPd , ProFTPD और vsftpd हैं ।

अभी, CentOS 8 पर vsftpd (वेरी सिक्योर फीट डीमन) को पेश किया जा रहा है। यह एक स्थिर, सुरक्षित और त्वरित एफ़टीपी सर्वर है। हम इसके अलावा ग्राहकों को उनके होम इंडेक्स तक सीमित करने और एसएसएल / टीएलएस के साथ सूचना प्रसारण को एनकोड करने का सबसे अच्छा तरीका बताएंगे।

CentOS 8  पर vsftpd स्थापित करना

डिफ़ॉल्ट CentOS स्टोर में vsftpd बंडल सुलभ है। इसे शुरू करने के लिए, रूडो के लाभ के साथ रूट या क्लाइंट के साथ आर्डर करें:

sudo dnf install vsftpd

जब बंडल पेश किया जाता है, तो vsftpd डेमॉन को शुरू करें और इसे बूट समय पर स्वाभाविक रूप से शुरू करने के लिए सशक्त करें:

sudo systemctl enable vsftpd --now

सेवा की स्थिति सत्यापित करें:

sudo systemctl status vsftpd

उपज कुछ इस तरह दिखाई देगी, यह दर्शाता है कि vsftpd प्रशासन गतिशील और चल रहा है:

● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-03-30 15:16:51 EDT; 10s ago
  Process: 2880 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
  ...

Vsftpd को कॉन्फ़िगर करना 

Vsftpd सर्वर सेटिंग्स /etc/vsftpd/vsftpd.confकॉन्फ़िगरेशन फ़ाइल में संग्रहीत की जाती हैं । अधिकांश सेटिंग्स फ़ाइल के अंदर अच्छी तरह से प्रलेखित हैं। सभी उपलब्ध विकल्पों के लिए, आधिकारिक vsftpd पृष्ठ पर जाएं।

साथ के क्षेत्रों में, हम एक संरक्षित vsftpd प्रतिष्ठान को डिजाइन करने के लिए आवश्यक कुछ महत्वपूर्ण सेटिंग्स पर जाएंगे।

Vsftpd डिजाइन रिकॉर्ड खोलने से शुरू करें:

sudo nano /etc/vsftpd/vsftpd.conf

1. एफ़टीपी एक्सेस 

हम एफ़टीपी सर्वर तक केवल स्थानीय उपयोगकर्ताओं की पहुँच की अनुमति देते हैं, निर्देश और खोज कर सकते हैं anonymous_enableऔर local_enableसुनिश्चित कर सकते हैं कि आपका कॉन्फ़िगरेशन नीचे की रेखाओं से मेल खाता है:

/etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES

2. अपलोड को सक्षम करना 

write_enableफाइलसिस्टम में परिवर्तन की अनुमति देने के लिए सेटिंग को रद्द करें , जैसे कि फाइल को अपलोड करना और हटाना।

/etc/vsftpd/vsftpd.conf

3. चेरोट जेल 

एफ़टीपी उपयोगकर्ताओं को chrootनिर्देश को अनसुना करके अपने घरेलू निर्देशिका के बाहर किसी भी फाइल तक पहुँचने से रोकें ।

/etc/vsftpd/vsftpd.conf

निश्चित रूप से, जब चुरोट को सशक्त किया जाता है, तो क्लाइंट द्वारा सुरक्षित कैटलॉग को लिखने योग्य नहीं होने पर, vsftpd दस्तावेजों को स्थानांतरित नहीं करेगा। यह एक सुरक्षा शक्तिहीनता को समाप्त करने के लिए है।

चेरोट के सशक्त होने पर स्थानांतरण की अनुमति देने के लिए नीचे की रणनीतियों में से एक का उपयोग करें।

  • विधि 1. – अपलोड करने की अनुमति देने के लिए अनुशंसित विधि चेरोट को सक्षम रखने और FTP निर्देशिकाओं को कॉन्फ़िगर करने के लिए है। इस ट्यूटोरियल में, हम ftpउपयोगकर्ता के घर के अंदर एक निर्देशिका बनाएंगे , जो कि चिरोट के रूप में काम करेगी और uploadsफाइलों को अपलोड करने के लिए एक लेखन योग्य निर्देशिका होगी।

    /etc/vsftpd/vsftpd.conf

    user_sub_token=$USER
    local_root=/home/$USER/ftp
  • विधि 2. – एक और विकल्प vsftpd डिजाइन रिकॉर्ड में साथ के आदेश को शामिल करना है। इस विकल्प का उपयोग इस घटना में करें कि आपको अपने ग्राहक को उसके होम इंडेक्स तक लिखने योग्य पहुंच प्रदान करनी चाहिए।

    /etc/vsftpd/vsftpd.conf

    allow_writeable_chroot=YES

4. निष्क्रिय एफ़टीपी कनेक्शन 

vsftpd निष्क्रिय FTP कनेक्शन के लिए किसी भी पोर्ट का उपयोग कर सकता है। हम बंदरगाहों की न्यूनतम और अधिकतम सीमा निर्दिष्ट करेंगे और बाद में हमारे फ़ायरवॉल में सीमा को खोलेंगे।

कॉन्फ़िगरेशन फ़ाइल में निम्न पंक्तियाँ जोड़ें:

/etc/vsftpd/vsftpd.conf

pasv_min_port=30000
pasv_max_port=31000

5. उपयोगकर्ता लॉगिन की सीमा 

केवल कुछ उपयोगकर्ताओं को FTP सर्वर में लॉग इन करने की अनुमति देने के लिए, लाइन के बाद निम्नलिखित पंक्तियाँ जोड़ें userlist_enable=YES:

/etc/vsftpd/vsftpd.conf

userlist_file=/etc/vsftpd/user_list
userlist_deny=NO

जब यह विकल्प सक्षम हो जाता है, तो आपको स्पष्ट रूप से निर्दिष्ट करना होगा कि कौन से उपयोगकर्ता /etc/vsftpd/user_listफ़ाइल में उपयोगकर्ता नाम जोड़कर लॉग इन करने में सक्षम हैं (प्रति पंक्ति एक उपयोगकर्ता)।

6. एसएसएल / टीएलएस  साथ सुरक्षित प्रसारण

इसलिए SSL / TLS के साथ FTP प्रसारण को एनकोड करने के लिए, आपके पास SSL एंडोर्समेंट होना चाहिए और इसका उपयोग करने के लिए FTP सर्वर को व्यवस्थित करना होगा।

आप सर्टिफिकेट अथॉरिटी में एक कॉर्ड द्वारा चिह्नित वर्तमान एसएसएल एंडोर्समेंट का उपयोग कर सकते हैं या स्व-चिह्नित घोषणा कर सकते हैं।

यदि आपके पास एफ़टीपी सर्वर के आईपी पते की ओर संकेत करने वाला एक डोमेन या उपडोमेन है, तो आप आसानी से एक निशुल्क लेट एनक्रिप्टेड एसएसएल प्रमाणपत्र उत्पन्न कर सकते हैं ।

इस ट्यूटोरियल में, हम टूल का उपयोग करके एक स्व-हस्ताक्षरित एसएसएल प्रमाणपत्र उत्पन्न करेंगे openssl

निम्न आदेश 2048-बिट निजी कुंजी और 10 वर्षों के लिए स्व-हस्ताक्षरित प्रमाण पत्र बनाएगा। निजी कुंजी और प्रमाणपत्र दोनों को एक ही फ़ाइल में सहेजा जाएगा:

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

एक बार SSL प्रमाणपत्र बन जाने के बाद vsftpd कॉन्फ़िगरेशन फ़ाइल खोलें:

sudo nano /etc/vsftpd/vsftpd.conf

निर्देशों rsa_cert_fileऔर rsa_private_key_fileनिर्देशों का पता लगाएं , उनके मूल्यों को pamफ़ाइल पथ में बदलें और ssl_enableनिर्देश को YESनिम्न पर सेट करें :

/etc/vsftpd/vsftpd.conf

rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem
ssl_enable=YES

यदि अन्यथा निर्दिष्ट नहीं है, तो FTP सर्वर सुरक्षित कनेक्शन बनाने के लिए केवल TLS का उपयोग करेगा।

Vsftpd सेवा को पुनरारंभ करें 

एक बार जब आप संपादन कर लेते हैं, तो vsftpd कॉन्फ़िगरेशन फ़ाइल (टिप्पणियों को छोड़कर) कुछ इस तरह दिखना चाहिए:

/etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
tcp_wrappers=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
pasv_min_port=30000
pasv_max_port=31000
rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem
ssl_enable=YES

परिवर्तनों को प्रभावी बनाने के लिए फ़ाइल को सहेजें और vsftpd सेवा को फिर से शुरू करें:

sudo systemctl restart vsftpd

फ़ायरवॉल खोलना 

how-to-config-and-manage-firewall-on-centos-8 यदि आप चला रहे हैं तो आपको एफ़टीपी ट्रैफ़िक की अनुमति देने की आवश्यकता होगी।

पोर्ट 21(एफ़टीपी कमांड पोर्ट), पोर्ट 20(एफ़टीपी डेटा पोर्ट) और 30000-31000(पैसिव पोर्ट्स रेंज) खोलने के लिए , अपने फ़ायरवॉल पर निम्न कमांड दर्ज करें:

sudo firewall-cmd --permanent --add-port=20-21/tcpsudo firewall-cmd --permanent --add-port=30000-31000/tcp

टाइप करके फ़ायरवॉल नियम पुनः लोड करें:

firewall-cmd --reload

एक FTP उपयोगकर्ता बनाना 

एफ़टीपी सर्वर का परीक्षण करने के लिए, हम एक नया उपयोगकर्ता बनाएंगे।

  • यदि आपके पास पहले से ही एक उपयोगकर्ता है जिसे आप एफ़टीपी एक्सेस देना चाहते हैं, तो पहला चरण छोड़ें।
  • यदि आप allow_writeable_chroot=YESअपनी कॉन्फ़िगरेशन फ़ाइल में सेट करते हैं, तो तीसरा चरण छोड़ें।
  1. नाम से एक नया उपयोगकर्ता बनाएँ newftpuser:

    sudo adduser newftpuser

    इसके बाद, आपको उपयोगकर्ता पासवर्ड सेट करना होगा :

    sudo passwd newftpuser
  2. उपयोगकर्ता को अनुमत FTP उपयोगकर्ता सूची में जोड़ें:

    echo "newftpuser" | sudo tee -a /etc/vsftpd/user_list
  3. एफ़टीपी निर्देशिका पेड़ बनाएँ और सही अनुमतियाँ सेट करें :

    sudo mkdir -p /home/newftpuser/ftp/uploadsudo chmod 550 /home/newftpuser/ftpsudo chmod 750 /home/newftpuser/ftp/uploadsudo chown -R newftpuser: /home/newftpuser/ftp

    जैसा कि पिछले अनुभाग में चर्चा की गई है, उपयोगकर्ता अपनी फ़ाइलों को ftp/uploadनिर्देशिका में अपलोड करने में सक्षम होगा ।

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

शेल एक्सेस को अक्षम करना 

डिफ़ॉल्ट रूप से, उपयोगकर्ता बनाते समय, यदि स्पष्ट रूप से निर्दिष्ट नहीं है, तो उपयोगकर्ता के पास सर्वर तक एसएसएच पहुंच होगी।

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

/bin/ftponlyशेल बनाने और इसे निष्पादन योग्य बनाने के लिए निम्नलिखित कमांड चलाएँ :

echo -e '#!/bin/shnecho "This account is limited to FTP access only."' | sudo tee -a  /bin/ftponlysudo chmod a+x /bin/ftponly

/etc/shellsफ़ाइल में मान्य शेल की सूची में नया शेल जोड़ें :

echo "/bin/ftponly" | sudo tee -a /etc/shells

उपयोगकर्ता शेल को इसमें बदलें /bin/ftponly:

sudo usermod newftpuser -s /bin/ftponly

अन्य उपयोगकर्ताओं के लिए शेल को बदलने के लिए उसी कमांड का उपयोग करें जिसे आप केवल एफ़टीपी एक्सेस देना चाहते हैं।

निष्कर्ष 

हमने आपको दिखाया है कि सेंटोस 8 पर एक सुरक्षित और तेज़ एफ़टीपी सर्वर को कैसे स्थापित करें और कॉन्फ़िगर करें।

अधिक सुरक्षित और तेज़ डेटा ट्रांसफ़र के लिए, आपको SCP या SFTP का उपयोग करना चाहिए ।

यदि आपके कोई प्रश्न या प्रतिक्रिया है, तो टिप्पणी छोड़ने के लिए स्वतंत्र महसूस करें।

Copy link
Powered by Social Snap