1. හැඳින්වීම
Ubuntu මත FTP සේවාදායකයක් සකස් කිරීම යනු සංවර්ධකයින්ට සහ පරිපාලකයින්ට ගොනු කාර්යක්ෂමව යැවීමට සහ ලබා ගැනීමට ඉතා ප්රායෝගික ක්රමයකි. ගෘහ සේවාදායකයක් හෝ සරල අභ්යන්තර ගොනු-බෙදාහැේ පරිසරයක් ගොඩනැගීමට උත්සාහ කරන විට, FTP (File Transfer Protocol) සරල හා ඉතා පහසුවෙන් ක්රියාත්මක කළ හැකි විකල්පයක් ලෙස ඉදිරියට එයි.
FTP සේවාදායකයක් කියන්නේ කුමක්ද?
FTP සේවාදායකය යනු අන්තර්ජාලය හෝ දේශීය ජාලය මත ගොනු ප්රේරණය සහ ලබා ගැනීම සඳහා නිර්මාණය කර ඇති කැපවූ සේවාදායක මෘදුකාංගයකි. පරිශීලකයන් FTP ගනුදෙනුකරු මෘදුකාංගයක් භාවිතා කර සේවාදායකයට සම්බන්ධ වී ගොනු උඩුගත කිරීම සහ බාගත කිරීම කළ හැක.
SFTP සහ SCP වැනි ආරක්ෂිත විකල්පයන් සමහර ප්රදේශවල ජනප්රියත්වය ලබාගෙන තිබුණද, FTP එහි සරලත්වය සහ ලාංඡන-හරිත ස්වභාවය නිසා බොහෝ යෙදුම් සඳහා තවමත් ප්රියතම තේරීමයි. එය සීමිත ජාලවල හෝ මූලික කාර්යයන් සඳහා ඉතා ප්රායෝගික ප්රොටෝකෝලයක් ලෙස පවතිනවා.
Ubuntu හි FTP සේවාදායකයේ භූමිකාව
Ubuntu යනු බොහෝ පරිශීලකයන් විසින් කැමති Linux බෙදාහැරීමක් වන අතර, සේවාදායක අරමුණු සඳහා පුළුල් ලෙස භාවිතා වේ. 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
3. මූලික වින්යාසය
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=YESvsftpd හි ආරක්ෂක සීමාවන් සැහැල්ලු කිරීම සඳහා සැකසුමකි, නිවස් ඩිරෙක්ටරියට ලිවීමේ අනුමැතියක් තිබේදී මෙය අවශ්ය වේ.
* මෙය නොමැතිව, “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 දත්ත සාමාන්ය පෙළ ලෙස ප්රේරණය කරයි හැඳුනුම්පත්, මුරපද සහ දත්ත ඇසුරුම් කිරීමේ අවදානමක් ඇති කරයි. මෙය වැළැක්වීමට, සන්නිවේදනය සංකේතගත කිරීම සඳහා FTPS (SSL/TLS මත FTP) භාවිතා කරන්න.
පළමුව, 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 (Explicit SSL)” භාවිතා කර සම්බන්ධ විය හැක.
අවශ්ය නොවන විශේෂාංග අක්රිය කිරීම
ආරක්ෂාව වැඩිදියුණු කිරීම සඳහා, භාවිතා නොවන විශේෂාංග සක්රියව අක්රිය කිරීමද වැදගත් වේ.
උදාහරණය:
anonymous_enable=NO
මෙය අනොනීමස් පරිශීලක ලොග්ඉන් අක්රිය කරයි (පෙරනිමියෙන් අක්රිය වේ, නමුත් පැහැදිලිව සකස් කිරීම අතිරේක ආරක්ෂාව ලබා දෙයි).
මෙම සැකසුම් සමඟ, Ubuntu හි vsftpd FTP සේවාදායකය මූලික ආරක්ෂක පියවරයන් ගෙන ඇත.
විශේෂයෙන් අන්තර්ජාලය මත භාවිතා කරන විට, FTPS ක්රියාත්මක කිරීම අත්යවශ්යය.
ඊළඟ අධ್ಯಾಯය, වක්ර වූ ජපන් ගොනු නාමයන් කෙසේ හසුරවන්නේද යන්න විස්තරාත්මකව පැහැදිලි කරයි. මෙය FTP මෙහෙයුම් වල බොහෝවිට නොසලකා හැරෙන කරුණක් වන අතර ගැටළු වැළැක්වීමට අත්යවශ්යය.
5. ජපන් ගොනු නාමයන් හසුරවීම
FTP භාවිතයෙන් ගොනු යැවීම සහ ලබා ගැනීමේදී, ජපන් ගොනු නාමයන් වක්ර වීම ගැටලුවට මුහුණ පා හැක. විශ Windows සහ Ubuntu අතර FTP මගින් ගොනු හුවමාරු කරන විට, කේතනය නොගැලපීම “???” හෝ තේරුම් නොගත හැකි අක්ෂර මාලා ඇති කරයි.
මෙම අංශය, vsftpd හි වක්ර වූ ජපන් ගොනු නාමයන් වැළැක්වීමට ගත යුතු පියවරයන් හඳුන්වා දෙයි.
වක්ර අක්ෂරයන්ගේ ප්රධාන හේතු
වක්ර ජපන් ගොනු නාමයන් ප්රධාන වශයෙන් පහත සඳහන් තුන් හේතු නිසා සිදුවේ:
- Ubuntu හි ලොකේල් සැකසුම UTF-8 නොවේ.
- FTP ගනුදෙනුකරුගේ කේතනය සැකසුම වැරදියි.
- vsftpd UTF-8 සහය සමඟ ක්රියා නොකරයි.
මෙම කරුණු පියවරෙන් පියවර පරීක්ෂා කර සකස් කිරීම වැදගත් වේ.
Ubuntu ලොකේල් පරීක්ෂා කිරීම සහ සැකසීම
පළමුව, Ubuntu පැතිකඩේ අක්ෂර කේතනය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 මත ක්රියාත්මක වන විට විශේෂ ගැටළුවක් නොමැත. එNevertheless, vsftpd හි සමහර අනුවාදවල මෙම අයිතමය සහය නොදක්වනු ඇත.
FTP ගනුදෙනුකරු සැකසුම් (FileZilla උදාහරණය)
FTP ගනුදෙනුකරුගේ සැකසුම්ද ඉතා වැදගත් වේ. උදාහරණයක් ලෙස, FileZilla භාවිතා කර සම්බන්ධ වන විට, පහත පරිදි සැකසිය යුතුය:
- Site Manager විවෘත කරන්න.
- ඔබේ සම්බන්ධතාවයේ සැකසුම් විවෘත කරන්න.
- “Charset” ටැබ් තෝරන්න.
- “Use custom charset” තෝරා
UTF-8ඇතුළත් කරන්න.
මෙම සැකසුම, ගනුදෙනුකරුට සේවාදායකයේ ගොනු නාමයන් UTF-8 ලෙස නිවැරදිව විග්රහ කිර ඉඩ සලසයි, එවිට වක්ර අක්ෂරයන් වැළැක්විය හැක.
වෙනත් මෙහෙයුම් පද්ධති වලින් උඩුගත කිරීම පිළිබඳ සටහන
Windows වැනි පද්ධති වලින් නිර්මාණය කරන ලද ගොනු උඩුගත කරන විට, පද්ධතිය Shift_JIS වැනි වෙනත් අක්ෂර කේතනයක් භාවිතා කරන්නේ නම්, ගොනු නාමය උඩුගත කිරීමේදී විකෘති විය හැක.
එවැනි අවස්ථාවල, උඩුගත කිරීමට පෙර ගොනු නාමය UTF-8 වෙත පරිවර්තනය කිරීම ආරක්ෂිත වේ. ඔබට convmv වැනි උපකරණ භාවිතා කර කමාන්ඩ් ලයින් එකේ පරිවර්තනය කළ හැක.
සාරාංශය
ජපන් ගොනු නම් FTP සමඟ කළමනාකරණය කිරීමේදී, සේවාදායකයා සහ සේවාලාභියාගේ දෙකෙහිම අක්ෂර සංකේතනය ගැලපීම යනු ප්රධාන කරුණකි. Ubuntu හි, UTF-8 එය සම්මතය ලෙස සකස් කිරීම සහ FTP සේවාලාභියා පැත්තෙන් UTF-8 පැහැදිලිව විශේෂ කිරීම මගින් බොහෝ අක්ෂර විකෘතිකරණ ගැටලු වළක්වා ගත හැකිය.
ඊළඟ පරිච්ඡේදයෙහි නිෂ්පාදන මාදිලිය සහ firewall සකසුම් පැහැදිලි කරනු ඇත. මෙමගින් router හෝ cloud පරිසරයක FTP භාවිතා කිරීමේදී සම්බන්ධතා ගැටලු වළක්වා ගැනීමට වැදගත් සකසුම් වේ.
6. නිෂ්පාදන මාදිලිය සහ Firewall සකසුම්
අන්තර්ජාලය හරහා හෝ NAT පරිසරයක (router ට පිටුපස) FTP සේවාදායකයක් ක්රියාත්මක කිරීමේදී සුලබ ගැටලුවක් වන්නේ “සම්බන්ධතාව සාර්ථක වුවද ගොනු ලැයිස්තුව ලබා ගැනීමට නොහැකි වීම” හෝ “දත්ත හුවමාරු අසාර්ථක වීම” යන සංසිද්ධියයි.
මෙම ගැටලුවල බොහොමයක් FTP ක්රියාකාරී මාදිලිය (සක්රීය/නිෂ්පාදන) සහ firewall සකසුම් නිසා ඇති වේ.
මෙම කොටස vsftpd හි නිෂ්පාදන මාදිලිය සක්රීය කිරීම සහ firewall හි අවශ්ය පෝර්ට් සකසුම් කිරීම පැහැදිලි කරයි.
නිෂ්පාදන මාදිලිය යනු කුමක්ද?
FTP හි සන්නිවේදන මාදිලි දෙකක් ඇත: “සක්රීය මාදිලිය” සහ “නිෂ්පාදන මාදිලිය.”
- සක්රීය මාදිලිය : සේවාදායකයා සේවාලාභියාට සම්බන්ධතාවයක් ස්ථාපිත කිරීමට උත්සාහ කරයි.
- නිෂ්පාදන මාදිලිය : සේවාලාභියා සිට සේවාදායකයා දක්වා සම්බන්ධතාවන් මඟින් පමණක් සන්නිවේදනය සම්පූර්ණ වේ (NAT සහ firewalls හරහා සන්නිවේදනය සඳහා වඩා ශක්තිමත්).
නූතන ජාල පරිසරවල, නිෂ්පාදන මාදිලිය නිර්දේශ කෙරේ. vsftpd හි නිෂ්පාදන මාදිලිය සකසුම් පැහැදිලිව සකස් කළ යුතුය.
vsftpd හි නිෂ්පාදන මාදිලිය සක්රීය කිරීම
/etc/vsftpd.conf හි පහත සකසුම් එකතු කරන්න හෝ සංස්කරණය කරන්න:
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
මෙය vsftpd නිෂ්පාදන මාදිලියෙහි ක්රියා කිරීමට සකස් කරයි සහ දත්ත හුවමාරු සඳහා 40000 සිට 50000 දක්වා පෝර්ට් භාවිතා කරයි. මෙම පරාසය විචල්යයක් වුවද, ආසන්න වශයෙන් 20-30 පෝර්ට් සඳහා සුරැකීම සුලබයි.
බාහිර IP ලිපිනය විශේෂ කිරීම (NAT පරිසර සඳහා)
සේවාදායකයා router ට පිටුපස NAT පරිසරයක සිටියහොත්, සේවාලාභීන් නිවැරදිව සම්බන්ධ විය හැකි ආකාරයට ලෝකයට පෙනෙන බාහිර IP ලිපිනය පැහැදිලිව විශේෂ කළ යුතුය.
pasv_address=203.0.113.45
* ඉහත IP ලිපිනය උදාහරණයකි. ඔබේ සැබෑ ගෝලීය IP ලිපිනයෙන් එය ප්රතිස්ථාපනය කරන්න.
මෙම සකසුම් සමඟ, FTP සේවාලාභියා vsftpd විසින් යැවූ නිවැරදි ලිපින තොරතුරු මත පදනම්ව දත්ත සම්බන්ධතාවයක් උත්සාහ කළ හැකිය.
Firewall (UFW) සකසුම්
Ubuntu firewall (UFW) හි vsftpd භාවිතා කරන පෝර්ට් විවෘත කරන්න. පහත commands ක්රියාත්මක කරන්න:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
20/tcp: FTP දත්ත නාලිකාව (සක්රීය මාදිලිය සඳහා)21/tcp: FTP command නාලිකාව (ලොගින් සහ command හුවමාරුව)40000:50000/tcp: නිෂ්පාදන මාදිලිය දත්ත හුවමාරුව සඳහා පෝර්ට් පරාසය
සකසුම් කිරීමෙන් පසු, වෙනස්කම් යෙදීමට UFW නැවත බාධා කරන්න.
sudo ufw reload
Cloud පරිසරවල (AWS, GCP, Azure, ආදිය) සැලකිලිමත් විය යුතු කරුණු
Cloud instance එකක FTP ක්රියාත්මක කිරීමේදී, OS මට්ටමේ UFW හි පමණක් නොව cloud provider හි security group (firewall) හිදුත් එකම පෝර්ට් විවෘත කළ යුතුය.
උදාහරණය: AWS සඳහා
→ Security Group හි TCP පෝර්ට් 21 සහ 40000-50000 ඉඩදීම.
සාරාංශය
FTP ප්රායෝගිකව ක්රියාත්මක කිරීමට, vsftpd හි නිෂ්පාදන මාදිලිය සකසුම් කිරීම සහ ඔබේ ජාල පරිසරයට අනුව පෝර්ට් විවෘත කිරීම අත්යවශ්යයි. විශේෂයෙන්ම බාහිර ජාලයකින් සම්බන්ධ වන විට, බොහෝ සන්නිවේදන අසාර්ථකත්ව සහ timeouts මෙම සකසුම් නිසා ඇති වේ.
ඊළඟ පරිච්ඡේදයෙහි FTP පරිශීලකයෙකු සඳහා තනි තනි ප්රවේශ හැකියාවන් සහ directory සීමාවන් සකස් කිරීම පැහැදිලි කරයි. මෙය multi-user ක්රියාකාරීත්වය සහ permission කළමනාකරණය සඳහා ගුණදායක වේ.
7. පරිශීලකයෙකු සඳහා සකසුම්
සැබෑ ක්රියාකාරී පරිසරයක FTP සේවාදායකයක් භාවිතා කිරීමේදී, බහු පරිශීලකයන්ට විවිධ ප්රවේශ හැකියාවන් සහ directories පැවරීමට අවශ්ය වන බොහෝ අවස්ථා ඇත. උදාහරණයක් ලෙස, දෙපාර්තමේන්තුවකට හෝ තනි පරිශීලකයෙකුට විශේෂ folder සකස් කිරීම හෝ අනෙකුගේ ගොනුවලට ප්රවේශය සීමා කිරීම අවශ්ය විය හැකිය.
මෙම කොටස vsftpd හි පරිශීලකයෙකු මත පදනම්ව සකසුම් කළමනාකරණය කිරීම හඳුන්වා දෙයි.
විශේෂ FTP පරිශීලකයන් සෑදීම
අන්තර්ජාල FTP සඳහා වෙන් කළ පරිශීලක ගිණුම් සාදන්න. නිශ්චිත නිවසේ ඩිරෙක්ටරි සමඟ නව පරිශීලකයින් සාදීම සුලභයි.
sudo adduser ftpuser1
මෙම ප්රකාශනය /home/ftpuser1 හි වෙන් කළ ඩිරෙක්ටරියක් සාදයි. ඔබ එය FTP අරමුණු සඳහා පමණක් භාවිතා කරන්නේ නම්, shell අක්රිය කිරීමෙන් ලොගින් වීම සීමා කළ හැකියි.
sudo useradd -m -s /usr/sbin/nologin ftpuser2
නිවසේ ඩිරෙක්ටරි අවසර සැකසීම
vsftpd හි ආරක්ෂාවේ නිර්දේශ අනුව, FTP නිවසේ ඩිරෙක්ටරි සඳහා “writable chroot directories” ඉඩ නැහැ. එබැවින්, පහත සැකසුම යෝජනා කෙරේ:
/home/ftpuser1/
├── files/ ← Allow write access (for uploads, etc.)
අවසර පහත පරිදි සකසන්න:
sudo mkdir /home/ftpuser1/files
sudo chown ftpuser1:ftpuser1 /home/ftpuser1/files
sudo chmod 755 /home/ftpuser1
මෙය root ඩිරෙක්ටරිය (/home/ftpuser1) writable නොවන, නමුත් 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 හි root ඩිරෙක්ටරිය /home/ftpuser1/files දක්වා සීමා කිරීමට සහ අනෙකුත් පරිශීලකයින්ගෙන් ලිවීමේ අවසර වෙන් කිරීමට ඉඩ සලසයි.
SFTP සමඟ භාවිතා කිරීමේදී සැලකිලිමත් විය යුතු කරුණු
ඔබ vsftpd වලට අමතරව OpenSSH විශේෂාංග භාවිතා කරන SFTP (SSH-අඩඋනු FTP) භාවිතා කරන්නේ නම්, පරිශීලක shells සහ කණ්ඩායම් සම්බන්ධතා වෙනස් විය හැකි බැවින්, සැකසුම් වෙන් කර කළමනාකරණය කිරීම යෝජනා කෙරේ.

සාරාංශය
vsftpd එක් එක් පරිශීලකයා සඳහා නම්යශීලී ඩිරෙක්ටරි පාලනය සහ ප්රවේශ අවසර සැකසුම් ඉඩ සලසයි. සුදුසු පරිශීලක කළමනාකරණයෙන් ආරක්ෂාව සහ පහසුව අතර සමබරතාවයක් ලබා ගත හැකියි.
ඊළඟ පරිච්ඡේදය FTP සර්වරයේ ක්රියාකාරිත්වය පරීක්ෂා කරන්නේ කෙසේදැයි පැහැදිලි කරයි. ක්ලයන්ට් එකකින් සැබෑවට සම්බන්ධ වී ගොනු උඩුගත කිරීම සහ බාගත කිරීම සාමාන්ය ලෙස සිදු වන බව තහවුරු කරමු.
8. ක්රියාකාරිත්වය තහවුරු කිරීම
මේ දක්වා, ඔබ FTP සර්වරයේ ස්ථාපනය, සැකසුම්, සහ පරිශීලක කළමනාකරණය අවසන් කර ඇත. අවසාන වැදගත් පියවර වන්නේ FTP සර්වරය සැබෑවට නිවැරදිව ක්රියා කරන බව තහවුරු කිරීම යි.
මෙම කොටස ලොකල් පරිසරය සහ FTP ක්ලයන්ට් එකක් භාවිතා කරමින් සම්බන්ධතාව පරීක්ෂා කිරීමේ ක්රම හඳුන්වා දෙයි.
ලොකල් පරිසර සම්බන්ධතා පරීක්ෂාව (ප්රකාශන රේඛාව)
Ubuntu තුළින්ම FTP සර්වරයට සම්බන්ධ විය හැකිදැයි පරීක්ෂා කිරීමට, ftp ප්රකාශනය භාවිතා කරන්න. පහත පරිදි සම්බන්ධ වීම උත්සාහ කරන්න:
ftp localhost
ලොගින් ප්රොම්ප්ට් එක පෙනෙන විට, ඔබ මීට පෙර සාදා ඇති FTP පරිශීලක නම සහ මුරපදය ඇතුළත් කරන්න.
Name (localhost:username): ftpuser1
Password: ********
ලොගින් වීමෙන් පසු, පහත පරිදි ප්රකාශනවල මූලික ක්රියාකාරකම් උත්සාහ කරන්න:
ls # Display file list
cd files # Change directory
put test.txt # Upload a file
get test.txt # Download a file
එය සාර්ථකව ක්රියා කරන්නේ නම්, FTP සර්වරය කිසිදු ගැටලුවකින් තොරව ගොඩනැඟී ඇත.
* සටහන: නවතම Ubuntu අනුවාදවලදී, ftp ප්රකාශනය deprecated වී ඇති නිසා, lftp හෝ ncftp වැනි විකල්ප වශයෙන් ක්ලයන්ට් ස්ථාපනය කර භාවිතා කළ හැකියි.
GUI ක්ලයන්ට් එකකින් සම්බන්ධතා තහවුරු කිරීම (FileZilla උදාහරණය)
සාමාන්ය පරිශීලකයින් සහ සංකීර්ණ ඩිරෙක්ටරි ව්යුහයන් තහවුරු කිරීම සඳහා, FileZilla වැනි GUI FTP ක්ලයන්ට් එකක් පහසුයි. සැකසුම ක්රියාවලිය පහත විස්තර කෙරේ.
FileZilla සමඟ සම්බන්ධතා ක්රියාවලිය:
- FileZilla එක ආරම්භ කර “Site Manager” විවෘත කරන්න.
- “New Site” එකක් සාදන්න.
- පහත දැක්වෙන දේ ඇතුළත් කරන්න:
| Configuration Item | Content |
|---|---|
| Host | Server’s IP address or domain name |
| Protocol | FTP – File Transfer Protocol |
| Encryption | Explicit FTP over TLS (if using FTPS) |
| Logon Type | Normal |
| User | ftpuser1, etc. (created username) |
| Password | Password for the above user |
- “Connect” බොත්තම ක්ලික් කරන්න.
සම්බන්ධ වීමෙන් පසු ගොනු ලැයිස්තුව සහ නාමාවලිය ව්යුහය පෙන්වා ඇත්නම්, එය සාර්ථකයි. උඩුගත/අඩවන්න ගැනීම් උත්සාහ කරන්න ද.
FTP සම්බන්ධතාවයේදී සුලබ ගැටලු සහ පරීක්ෂණ ස්ථාන
| Problem | Checkpoint |
|---|---|
| Cannot connect | Check if ports are open in the firewall and security group. |
| Login failed (530 Login incorrect) | Verify username/password and check vsftpd.userlist. |
| Cannot display file list | Check if passive mode is enabled and the port range is open. |
| File names are garbled | Reconfirm UTF-8 settings and client character encoding. |
ලොග් ගොනු සමඟ තත්ත්වය පරීක්ෂා කිරීම
ගැටලුව තවමත් පවතිනවා නම්, vsftpd ලොග් ගොනුව පරීක්ෂා කිරීමෙන් හේතුව හඳුනා ගැනීමට උපකාරී වේ.
cat /var/log/vsftpd.log
වෙනත් පද්ධති මට්ටම් ලොග් සඳහා, පහත භාවිතා කරන්න:
sudo journalctl -u vsftpd
මෙම තොරතුරු “කවදා,” “කවුද,” “ඔවුන් මොනවද කළේ,” සහ “කොහේ ද අසාර්ථක වූේ” තේරුම් ගැනීමට පහසු කරයි.
වෙනත් ඉඟි
- සම්බන්ධතාවය අස්ථාවර නම්: සන්නිවේදන පැත්තේ ගිනි බිත්තිය හෝ ආරක්ෂක විරෝධීන් සම්බන්ධතාවය අවහිර කරන බව සැක කරන්න.
- වැඩිදියුණු ආරක්ෂාව නිසා සීමාවන්: SELinux හෝ AppArmor බාධා කරනු ඇත (AppArmor Ubuntu හි බොහෝ විට සක්රිය කර ඇත).
සාරාංශය
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/වැනි උප නාමාවලියකට ලිවීමේ අවසර සකසන්න.



