1. හැඳින්වීම
Ubuntu හි FTP සේවාදායකයක් ගොඩනැගීම ගොනු හුවමාරු කිරීමේදී කාර්යක්ෂමව කටයුතු කිරීමට අපේක්ෂා කරන සංවර්ධකයින් සහ පරිපාලකයින් සඳහා ඉතා ප්රායෝගික විසඳුමකි. විශේෂයෙන්ම නිවසේ සේවාදායකයක් සකස් කිරීමේදී හෝ සරල අභ්යන්තර ගොනු බෙදාහැරීමේ පරිසරයක් සකස් කිරීමේදී, FTP (File Transfer Protocol) යාවත්කාලීන කිරීමට පහසු සහ සරල විකල්පයක් ලෙස ඉතිරි වේ.
FTP සේවාදායකයක් යනු කුමක්ද?
FTP සේවාදායකයක් යනු අන්තර්ජාලය හෝ දේශීය ජාලය හරහා ගොනු හුවමාරු කිරීම සඳහා භාවිතා වන විශේෂිත සේවාදායක මෘදුකාංගයකි. පරිශීලකයින් FTP සේවාදායකයට FTP සේවාදායක යෙදුමක් භාවිතයෙන් සම්බන්ධ වී ගොනු උඩුගත කිරීමට හෝ බාගත කිරීමට භාවිතා කරති.
SFTP සහ SCP වැනි ආරක්ෂිත විකල්ප වඩාත් පොදු වී ඇති වුවද, FTP හි සරලභාවය සහ ලාභ බරකම නිසා එය තවමත් විස්තර වශයෙන් භාවිතා වේ. සීමිත ජාලවල හෝ මූලික භාවිතයන් සඳහා, 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) යි. එහි නම පෙන්වන පරිදි, එය ආරක්ෂාව සලකා බලා නිර්මාණය කර ඇති අතර ලාභ බරකම් සහ ස්ථාවර වන නිසා සමාගම් සහ අධ්යාපනික පරිසරවල විස්තර වශයෙන් භාවිතා වේ.
මෙම කොටසේදී 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 ස්ථාපනය කළ පසු, ඊළඟ පියවර වන්නේ සැකසුම් ගොනුව සංස්කරණය කිරීමෙන් එහි හැසිරීම අභිරුචිකරණය කිරීමයි. vsftpd ඉතා සියුම් පාලනයක් ලබා දෙනවා වුවද, බොහෝ විශේෂාංග අත්සන්ගතව අක්රිය කර ඇති නිසා, ඔබට අවශ්ය ක්රියාකාරකත්වයන් පැහැදිලිව සක්රීය කළ යුතුය.
මෙම කොටසේදී වඩාත් පොදු සහ අත්යවශ්ය සැකසුම් විකල්ප පැහැදිලි කර ඇත.
සැකසුම් ගොනුවේ පිහිටීම
vsftpd සඳහා ප්රධාන වින්යාස ගොනුව මෙහි පිහිටා ඇත:
/etc/vsftpd.conf
ගොනුව සංස්කරණය කිරීම සඳහා පහත කමාන්ඩ් භාවිතා කරන්න:
sudo nano /etc/vsftpd.conf
වෙනස්කම් සිදු කිරීමෙන් පසු, වෙනස්කම් ක්රියාත්මක කිරීම සඳහා vsftpd නැවත ආරම්භ කරන්න:
sudo systemctl restart vsftpd
ලියන ක්රියා (උඩුගත කිරීම, මකා දැමීම, වෙනස් කිරීම) සක්රිය කිරීම
පෙරනිමියෙන්, vsftpd ගොනු උඩුගත කිරීම හෝ වෙනස් කිරීම ඉඩ නොදේ. ලියන ප්රවේශය සක්රිය කිරීමට, පහත පේළිය අක්රිය කර හෝ එකතු කරන්න:
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 මාදිලියේ මාරු (අවශ්ය නම්) සක්රිය කිරීම
විවිධ නව පේළි ආකෘති සමඟ පෙළ ගොනු නිවැරදිව මාරු කිරීමට ඔබට අවශ්ය නම්, ASCII මාදිලිය සක්රිය කරන්න:
ascii_upload_enable=YES
ascii_download_enable=YES
බයිනරි මාදිලිය බොහෝ අවස්ථාවල ප්රමාණවත් වන අතර, ASCII මාදිලිය විශේෂිත පරිසරයන්හි ප්රයෝජනවත් විය හැක.
vsftpd සෑම හැකියාවක් සඳහාම පැහැදිලි අවසරය අවශ්ය කරයි, එමඟින් වින්යාසය පැහැදිලි හා ආරක්ෂිත වේ. වින්යාස ගොනුව වෙනස් කිරීමෙන් පසු සේවාව නිතරම නැවත ආරම්භ කරන්න.
4. ආරක්ෂාව වැඩිදියුණු කිරීම
FTP පහසු වුවද, පෙරනිමියෙන් දත්ත සංකේතනය නොකරයි, එය ආරක්ෂක ගැටළු ඇති කරයි—විශේෂයෙන් අන්තර්ජාලය හරහා භාවිතා කරන විට. නිසි ආරක්ෂක වින්යාසය අත්යවශ්ය වේ.
මෙම කොටස vsftpd හි ලබා ගත හැකි ප්රධාන ආරක්ෂක පියවර들을 හඳුන්වා දෙයි.
chroot සමඟ පරිශීලක ප්රවේශය සීමා කිරීම
FTP පරිශීලකයන්ට ඔවුන්ගේ නිවසේ නාමාවලියෙන් පිටත නාමාවලියට ප්රවේශ වීමට ඉඩ දීම අවදානම්. chroot භාවිතා කර පරිශීලකයන්ට ඔවුන්ගේ නිවසේ නාමාවලිය තුළ පමණක් සීමා කරන්න.
chroot_local_user=YES
allow_writeable_chroot=YES
chroot_local_user=YESමගින් පරිශීලකයන්ට ඔවුන්ගේ නිවසේ නාමාවලියට ඉහළ නාමාවලියට ප්රවේශ වීම නවත්වයි.allow_writeable_chroot=YESයනු නිවසේ නාමාවලියට ලියන අවසර තිබේ නම් අවශ්ය වේ.
මෙම සැකසුම නොමැතිව, පහත දෝෂය පෙන්වයි:
500 OOPS: vsftpd: refusing to run with writable root inside chrootලොග්ඉන් පරිශීලකයන් (Whitelist) සීමා කිරීම
සියලුම පද්ධති පරිශීලකයන්ට FTP හරහා ලොග්ඉන් වීමට ඉඩ දීම ආරක්ෂක අවදානම වැඩි කරයි. ඒ වෙනුවට whitelist එකක් භාවිතා කර ප්රවේශය සීමා කරන්න.
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
අවසර ලත් පරිශීලකයන් ලැයිස්තුවට එක් කරන්න:
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
ගනුදෙනුකරුවන් දැන් explicit FTPS භාවිතයෙන් සම්බන්ධ විය හැක.
අවශ්ය නොවන විශේෂාංග අක්රිය කිරීම
ආක්රමණීය මතුපිට අඩු කිරීම සඳහා භාවිත නොකරන විශේෂාංග අක්රිය කරන්න:
anonymous_enable=NO
මෙය අනොනීමස් ලොග්ඉන් අක්රිය කරයි.
5. ජපන් නාමාවලියන්ට සහය
FTP හරහා ගොනු මාරු කරන විට, විශේෂයෙන් Windows සහ Ubuntu අතර, කේතනයේ අසමතුලිතතා නිසා ජපන් නාමාවලියන් අකාරාදියෙන් පෙන්විය හැක.
ගොනු නම් එන්කෝඩිං ගැටලුවල සාමාන්ය හේතු
- Ubuntu locale UTF-8 සඳහා සකස් නොකර ඇත
- FTP සේවාදායක එන්කෝඩිං ගැලපෙන්නේ නැත
- vsftpd UTF-8 ආකාරයෙන් ක්රියාත්මක වන්නේ නැත
Ubuntu Locale පරීක්ෂා කිරීම සහ සකස් කිරීම
locale
LANG=ja_JP.UTF-8
UTF-8 සක්රිය නොවේ නම්:
sudo update-locale LANG=ja_JP.UTF-8
source /etc/default/locale
sudo locale-gen ja_JP.UTF-8
vsftpd UTF-8 සහාය පරීක්ෂා කිරීම
utf8_filesystem=YES
මෙම විකල්පය සියලුම අනුවර්තනවල නොමැති විය හැකි නමුත්, UTF-8 පද්ධති locales සාමාන්යයෙන් ප්රමාණවත් වේ.
FTP සේවාදායක සැකසුම් (FileZilla උදාහරණය)
- Site Manager විවෘත කරන්න
- සේවාදායකය තෝරන්න
- Charset ටැබ් විවෘත කරන්න
- අභිරුචි charset සක්රිය කරන්න සහ එය
UTF-8ලෙස සකසන්න
6. පාසිව් ආකාරය සහ Firewall සකසුම්
නායකත්වය ලැයිස්තුගත කිරීම් අසාර්ථක වීම හෝ නිරවද්ය ස්ථිර වීම් වැනි FTP ගැටලු බොහෝ විට වැරදි පාසිව් ආකාරය හෝ firewall සැකසුම් නිසා ඇති වේ.
පාසිව් ආකාරය කුමක්ද?
- ක්රියාකාරී ආකාරය: සේවාදායකය දත්ත සම්බන්ධතාවය ආරම්භ කරයි
- පාසිව් ආකාරය: සේවාදායකය සියලුම සම්බන්ධතා ආරම්භ කරයි
නවීන ජාල සඳහා පාසිව් ආකාරය දැඩි ලෙස නිර්දේශ කෙරේ.
vsftpd හි පාසිව් ආකාරය සක්රිය කිරීම
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
බාහිර IP ලිපිනය විශේෂණය කිරීම (NAT පරිසර)
pasv_address=203.0.113.45
UFW හි අවශ්ය පෝර්ට් විවෘත කිරීම
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw reload
7. පරිශීලකෙකුගේ සකසුම්
නිෂ්පාදන පරිසරවල, විවිධ අවසර සහ නායකත්වයන් එක් එක් පරිශීලකයා සඳහා ප්රමාණවත් කිරීම සුලබයි.
විශිෂ්ට FTP පරිශීලකයින් සාදන්න
sudo adduser ftpuser1
sudo useradd -m -s /usr/sbin/nologin ftpuser2
නිර්දේශිත නායකත්වය ව්යුහය
/home/ftpuser1/
└── files/
sudo mkdir /home/ftpuser1/files
sudo chown ftpuser1:ftpuser1 /home/ftpuser1/files
sudo chmod 755 /home/ftpuser1
පරිශීලක-විශේෂ සකසුම් ගොනු
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
8. මෙහෙයුම් පරීක්ෂාව
සියලුම සකසුම් පියවර සම්පූර්ණ කළ පසු, FTP සේවාදායකය නිවැරදිව ක්රියාත්මක වන බව පරීක්ෂා කරන්න.
Command-Line පරීක්ෂාව
ftp localhost
ls
cd files
put test.txt
get test.txt
GUI සේවාදායක පරීක්ෂාව (FileZilla)
සම්බන්ධතාව, නායකත්වය ලැයිස්තුගත කිරීම, උඩුගත කිරීම්, සහ බාගත කිරීම් පරීක්ෂා කරන්න.
9. ගැටලු විසඳීම
සුලබ FTP ගැටලු සහ විසඳුම් ලොගින් අසාර්ථකත්ව, අවසර දෝෂ, පාසිව් ආකාරය වැරදි සකසුම්, සහ එන්කෝඩිං ගැටලු ඇතුළත් වේ.
10. නිගමනය
මෙම ලිපිය vsftpd භාවිතයෙන් Ubuntu හි ආරක්ෂිත සහ ප්රායෝගික FTP සේවාදායකයක් ගොඩනැගීම ගැන පැහැදිලි කළේය, ස්ථාපනය, සකසුම්, ආරක්ෂාව, එන්කෝඩිං, පාසිව් ආකාරය, පරිශීලක කළමනාකරණය, පරීක්ෂාව, සහ ගැටලු විසඳීම ආවරණය කරමින්.
FAQ
Ubuntu හි FTP සේවාදායක සකසුම් සහ මෙහෙයුම් ගැන නිතර අසන ප්රශ්න.



