डेबियन 9 से 10 पर अपग्रेड करने का
विषयसूची:
- आवश्यक शर्तें
- डेबियन 9 पर vsftpd स्थापित करना
- Vsftpd को कॉन्फ़िगर करना
- 1. एफ़टीपी एक्सेस
- 2. अपलोड सक्षम करना
- 3. चेरोट जेल
- 4. निष्क्रिय एफ़टीपी कनेक्शन
- 5. उपयोगकर्ता लॉगिन को सीमित करना
- 6. एसएसएल / टीएलएस के साथ ट्रांसमिशन सुरक्षित करना
- Vsftpd सेवा को पुनरारंभ करें
- फ़ायरवॉल खोलना
- एफ़टीपी उपयोगकर्ता बनाना
- शेल एक्सेस को अक्षम करना
- निष्कर्ष
एफ़टीपी (फाइल ट्रांसफर प्रोटोकॉल) एक मानक नेटवर्क प्रोटोकॉल है जिसका उपयोग रिमोट नेटवर्क से फ़ाइलों को स्थानांतरित करने के लिए किया जाता है। अधिक सुरक्षित और तेज़ डेटा ट्रांसफ़र के लिए, SCP या SFTP का उपयोग करें।
लिनक्स के लिए कई ओपन सोर्स एफ़टीपी सर्वर उपलब्ध हैं। सबसे लोकप्रिय और व्यापक रूप से उपयोग किए जाने वाले PureFTPd, ProFTPD और vsftpd हैं।
यह ट्यूटोरियल बताता है कि डेबियन 9. vsftpd (वेरी सिक्योर फीट डीमन) को कैसे स्थापित और कॉन्फ़िगर किया जाए। एक स्थिर, सुरक्षित और तेज़ एफ़टीपी सर्वर को वीटाफ़्ट। हम आपको यह भी दिखाएंगे कि उपयोगकर्ताओं को अपने होम निर्देशिका में प्रतिबंधित करने के लिए vsftpd को कैसे कॉन्फ़िगर करें और SSL / TLS के साथ संपूर्ण ट्रांसमिशन को एन्क्रिप्ट करें।
आवश्यक शर्तें
आप जिस उपयोगकर्ता के रूप में लॉग इन हैं, उसके पास पैकेज स्थापित करने में सक्षम होने के लिए sudo विशेषाधिकार होना चाहिए।
डेबियन 9 पर vsftpd स्थापित करना
Vsftpd पैकेज डेबियन रिपॉजिटरी में उपलब्ध है। स्थापना बहुत सीधी है:
sudo apt update
sudo apt install vsftpd
स्थापना प्रक्रिया पूरी होने के बाद vsftpd सेवा स्वचालित रूप से शुरू हो जाएगी। सेवा की स्थिति मुद्रित करके इसे सत्यापित करें:
sudo systemctl status vsftpd
आउटपुट नीचे की तरह कुछ दिखाई देगा, यह दर्शाता है कि vsftpd सेवा सक्रिय और चल रही है:
● vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2018-12-10 11:42:51 UTC; 53s ago Main PID: 1394 (vsftpd) CGroup: /system.slice/vsftpd.service └─1394 /usr/sbin/vsftpd /etc/vsftpd.conf
Vsftpd को कॉन्फ़िगर करना
vsftpd.conf
सर्वर को
vsftpd.conf
फ़ाइल को संशोधित करके
/etc
निर्देशिका में पाया जा सकता है।
अधिकांश सेटिंग्स कॉन्फ़िगरेशन फ़ाइल के अंदर अच्छी तरह से प्रलेखित हैं। सभी उपलब्ध विकल्पों के लिए आधिकारिक vsftpd पेज पर जाएँ।
निम्नलिखित अनुभागों में, हम एक सुरक्षित vsftpd स्थापना को कॉन्फ़िगर करने के लिए आवश्यक कुछ महत्वपूर्ण सेटिंग्स पर जाएंगे।
Vsftpd कॉन्फ़िगरेशन फ़ाइल खोलने से प्रारंभ करें:
1. एफ़टीपी एक्सेस
local_enable
और
local_enable
निर्देशों का पता लगाएँ और नीचे दिए गए लाइनों के लिए अपने कॉन्फ़िगरेशन मिलान को सत्यापित करें:
anonymous_enable=NO local_enable=YES
यह सुनिश्चित करता है कि केवल स्थानीय उपयोगकर्ता ही एफ़टीपी सर्वर का उपयोग कर सकते हैं।
2. अपलोड सक्षम करना
फ़ाइलों को अपलोड करने और हटाने जैसी फाइलसिस्टम में परिवर्तन की अनुमति देने के लिए
write_enable
सेटिंग को
write_enable
करें।
3. चेरोट जेल
एफ़टीपी उपयोगकर्ताओं को अपने होम डाइरेक्टरीज़ के बाहर किसी भी फाइल को एक्सेस करने से रोकने के लिए
chroot
सेटिंग को
chroot
।
chroot_local_user=YES
डिफ़ॉल्ट रूप से एक सुरक्षा भेद्यता को रोकने के लिए, जब चेरोट सक्षम होता है vsftpd फ़ाइलों को अपलोड करने से इंकार कर देगा यदि उपयोगकर्ता जिस निर्देशिका में बंद है वह लिखने योग्य है।
जब chroot सक्षम हो तो अपलोड करने की अनुमति देने के लिए नीचे दी गई विधियों में से किसी एक का उपयोग करें।
-
विधि 1. - अपलोड करने की अनुमति देने के लिए अनुशंसित विधि चेरोट को सक्षम रखने और FTP निर्देशिकाओं को कॉन्फ़िगर करने के लिए है। इस ट्यूटोरियल में, हम उपयोगकर्ता के घर के अंदर एक
/etc/vsftpd.confftp
डायरेक्टरी बनाएंगे जो कि चिरोट के रूप में काम करेगी और फाइल्स अपलोड करने के लिए एक राइटलीuploads
डायरेक्टरी है।user_sub_token=$USER local_root=/home/$USER/ftp
विधि 2. - एक अन्य विकल्प vsftpd कॉन्फ़िगरेशन फ़ाइल में निम्न निर्देश को जोड़ना है। इस विकल्प का उपयोग करें यदि आपको अपने उपयोगकर्ता को उसके होम डायरेक्टरी में लिखने योग्य पहुँच प्रदान करनी होगी।
/etc/vsftpd.confallow_writeable_chroot=YES
4. निष्क्रिय एफ़टीपी कनेक्शन
vsftpd निष्क्रिय FTP कनेक्शन के लिए किसी भी पोर्ट का उपयोग कर सकता है। हम बंदरगाहों की न्यूनतम और अधिकतम सीमा निर्दिष्ट करेंगे और बाद में अपने फ़ायरवॉल में सीमा को खोलेंगे।
कॉन्फ़िगरेशन फ़ाइल में निम्न पंक्तियाँ जोड़ें:
/etc/vsftpd.conf
pasv_min_port=30000 pasv_max_port=31000
5. उपयोगकर्ता लॉगिन को सीमित करना
FTP सर्वर में लॉग इन करने के लिए केवल कुछ उपयोगकर्ताओं को फाइल के अंत में निम्नलिखित लाइनें जोड़ने की अनुमति देने के लिए:
userlist_enable=YES 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/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
एक बार SSL प्रमाणपत्र बन जाने के बाद vsftpd कॉन्फ़िगरेशन फ़ाइल खोलें:
sudo nano /etc/vsftpd.conf
rsa_cert_file
और
rsa_private_key_file
निर्देशों को
rsa_private_key_file
, अपने मानों को
pam
फ़ाइल पथ में
ssl_enable
और
ssl_enable
निर्देश को
YES
सेट करें:
rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES
यदि अन्यथा निर्दिष्ट नहीं है, तो FTP सर्वर सुरक्षित कनेक्शन बनाने के लिए केवल TLS का उपयोग करेगा।
Vsftpd सेवा को पुनरारंभ करें
एक बार जब आप संपादन कर लेते हैं, तो vsftpd कॉन्फ़िगरेशन फ़ाइल (टिप्पणियों को छोड़कर) कुछ इस तरह दिखना चाहिए:
/etc/vsftpd.conf
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=YES user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=30000 pasv_max_port=31000 userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO
परिवर्तनों को प्रभावी बनाने के लिए फ़ाइल को सहेजें और vsftpd सेवा को फिर से शुरू करें:
फ़ायरवॉल खोलना
पोर्ट
21
(एफ़टीपी कमांड पोर्ट), पोर्ट
20
(एफ़टीपी डेटा पोर्ट) और
30000-31000
(पैसिव पोर्ट्स रेंज)
30000-31000
लिए, निम्न कमांड चलाएँ:
sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp
बाहर बंद होने से बचने के लिए हम पोर्ट
22
भी खोलेंगे:
sudo ufw allow OpenSSH
UFW को अक्षम और पुनः सक्षम करके UFW नियमों को पुनः लोड करें:
sudo ufw disable
sudo ufw enable
परिवर्तनों को सत्यापित करने के लिए:
sudo ufw status
Status: active To Action From -- ------ ---- 20:21/tcp ALLOW Anywhere 30000:31000/tcp ALLOW Anywhere OpenSSH ALLOW Anywhere 20:21/tcp (v6) ALLOW Anywhere (v6) 30000:31000/tcp (v6) ALLOW Anywhere (v6) OpenSSH (v6) ALLOW Anywhere (v6)
एफ़टीपी उपयोगकर्ता बनाना
हमारे एफ़टीपी सर्वर का परीक्षण करने के लिए हम एक नया उपयोगकर्ता बनाएंगे।
- यदि आपके पास पहले से ही एक उपयोगकर्ता है जिसे आप एफ़टीपी एक्सेस देना चाहते हैं, तो पहले चरण को छोड़ दें। यदि आप अपने कॉन्फ़िगरेशन फ़ाइल में
allow_writeable_chroot=YES
सेट करते हैं तो तीसरा चरण छोड़ें।
-
newftpuser
नाम का एक नया उपयोगकर्ता बनाएँ:sudo adduser newftpuser
उपयोगकर्ता को अनुमत FTP उपयोगकर्ता सूची में जोड़ें:
echo "newftpuser" | sudo tee -a /etc/vsftpd.user_list
FTP डायरेक्टरी ट्री बनाएं और सही अनुमतियां सेट करें:
sudo mkdir -p /home/newftpuser/ftp/upload
sudo chmod 550 /home/newftpuser/ftp
sudo chmod 750 /home/newftpuser/ftp/upload
sudo chown -R newftpuser: /home/newftpuser/ftp
जैसा कि पिछले अनुभाग में चर्चा की गई है उपयोगकर्ता अपनी फ़ाइलों को
ftp/upload
निर्देशिका मेंftp/upload
करने में सक्षम होंगे।
इस बिंदु पर, आपका एफ़टीपी सर्वर पूरी तरह कार्यात्मक है और आपको किसी भी एफ़टीपी ग्राहक का उपयोग करके अपने सर्वर से कनेक्ट करने में सक्षम होना चाहिए जिसे टीएलएस एन्क्रिप्शन जैसे फ़ाइलज़िला का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है।
शेल एक्सेस को अक्षम करना
डिफ़ॉल्ट रूप से, उपयोगकर्ता बनाते समय, यदि स्पष्ट रूप से निर्दिष्ट नहीं है तो उपयोगकर्ता के पास सर्वर तक एसएसएच पहुंच होगी।
शेल एक्सेस को अक्षम करने के लिए, हम एक नया शेल बनाएंगे जो उपयोगकर्ता को यह कहते हुए एक संदेश प्रिंट करेगा कि उनका खाता केवल एफ़टीपी एक्सेस तक सीमित है।
/bin/ftponly
शेल बनाएं और इसे निष्पादन योग्य बनाएं:
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly
sudo chmod a+x /bin/ftponly
नए शेल को
/etc/shells
फ़ाइल में मान्य शेल की सूची में जोड़ें:
echo "/bin/ftponly" | sudo tee -a /etc/shells
उपयोगकर्ता शेल को
/bin/ftponly
:
sudo usermod newftpuser -s /bin/ftponly
सभी उपयोगकर्ताओं के शेल को बदलने के लिए एक ही कमांड का उपयोग करें जिसे आप केवल एफ़टीपी एक्सेस देना चाहते हैं।
निष्कर्ष
इस ट्यूटोरियल में, आपने सीखा कि अपने डेबियन 9 सिस्टम पर एक सुरक्षित और तेज़ एफ़टीपी सर्वर को कैसे स्थापित करें और कॉन्फ़िगर करें।
ftp डेबियनएंड्रॉइड पर ftp सर्वर को सेटअप और उपयोग कैसे करें
अपने एंड्रॉइड डिवाइस से पीसी को बिना यूएसबी केबल के फाइल ट्रांसफर करना चाहते हैं? एंड्रॉइड और पीसी के बीच फ़ाइलों को वायरलेस तरीके से साझा करने के लिए एफ़टीपी सर्वर विधि का प्रयास करें।
सेंटो 7 पर vsftpd के साथ ftp सर्वर सेटअप कैसे करें
इस ट्यूटोरियल में हम vsftpd स्थापित करेंगे। यह एक स्थिर, सुरक्षित और तेज एफ़टीपी सर्वर है। हम आपको यह भी दिखाएंगे कि उपयोगकर्ताओं को उनके घर निर्देशिका में प्रतिबंधित करने और SSL / TLS के साथ संपूर्ण प्रसारण को एन्क्रिप्ट करने के लिए vsftpd को कैसे कॉन्फ़िगर करें।
Ubuntu 18.04 पर vsftpd के साथ ftp सर्वर सेटअप कैसे करें
इस ट्यूटोरियल में हम vsftpd स्थापित करेंगे। यह एक स्थिर, सुरक्षित और तेज एफ़टीपी सर्वर है। हम आपको यह भी दिखाएंगे कि उपयोगकर्ताओं को उनके घर निर्देशिका में प्रतिबंधित करने और SSL / TLS के साथ संपूर्ण प्रसारण को एन्क्रिप्ट करने के लिए vsftpd को कैसे कॉन्फ़िगर करें।