Ubuntu Server 18.04.1. Настройка и установка FTP-сервера vsftpd
Talaan ng mga Nilalaman:
- Mga kinakailangan
- Ang pag-install ng vsftpd sa Ubuntu 18.04
- Pag-configure sa vsftpd
- 1. Pag-access sa FTP
- 2. Paganahin ang pag-upload
- 3. Chroot Jail
- 4. Passive FTP na Koneksyon
- 5. Limitahan ang Pag-login sa Gumagamit
- 6. Pag-secure ng Mga Transmissions kasama ang SSL / TLS
- I-restart ang Serbisyo ng vsftpd
- Pagbukas ng Firewall
- Paglikha ng FTP Gumagamit
- Hindi pagpapagana ng Pag-access sa Shell
- Konklusyon
Ang FTP (File Transfer Protocol) ay isang karaniwang network protocol na ginagamit upang maglipat ng mga file papunta at mula sa isang malayong network. Para sa mas ligtas at mas mabilis na paglilipat ng data, gumamit ng SCP o SFTP.
Maraming mga bukas na mapagkukunan FTP server na magagamit para sa Linux. Ang pinakatanyag at malawak na ginagamit ay PureFTPd, ProFTPD, at vsftpd. Sa tutorial na ito, mai-install namin ang vsftpd (Very Secure Ftp Daemon). Ito ay isang matatag, ligtas at mabilis na FTP server. Ipapakita rin namin sa iyo kung paano i-configure ang vsftpd upang higpitan ang mga gumagamit sa kanilang direktoryo sa bahay at i-encrypt ang buong paghahatid sa SSL / TLS.
Kahit na ang tutorial na ito ay isinulat para sa Ubuntu 18.04 ang parehong mga tagubilin na nalalapat para sa Ubuntu 16.04 at anumang pamamahagi na batay sa Debian, kasama ang Debian, Linux Mint at Elementary OS.
Mga kinakailangan
Bago magpatuloy sa tutorial na ito, siguraduhing naka-log in ka bilang isang gumagamit na may mga pribilehiyo ng sudo.
Ang pag-install ng vsftpd sa Ubuntu 18.04
Ang pakete ng vsftpd ay magagamit sa mga repositori ng Ubuntu. Upang mai-install ito, patakbuhin lamang ang mga sumusunod na utos:
sudo apt update
sudo apt install vsftpd
Ang serbisyo ng vsftpd ay awtomatikong magsisimula pagkatapos makumpleto ang proseso ng pag-install. Patunayan ito sa pamamagitan ng pag-print ng katayuan ng serbisyo:
sudo systemctl status vsftpd
Ang output ay magmumukhang isang bagay tulad ng sa ibaba, na nagpapakita na ang serbisyo ng vsftpd ay aktibo at tumatakbo:
* vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2018-10-15 03:38:52 PDT; 10min ago Main PID: 2616 (vsftpd) Tasks: 1 (limit: 2319) CGroup: /system.slice/vsftpd.service `-2616 /usr/sbin/vsftpd /etc/vsftpd.conf
Pag-configure sa vsftpd
Ang server ng vsftpd ay maaaring mai-configure sa pamamagitan ng pag-edit ng
/etc/vsftpd.conf
file. Karamihan sa mga setting ay maayos na na-dokumentado sa loob ng file ng pagsasaayos. Para sa lahat ng magagamit na mga pagpipilian bisitahin ang opisyal na pahina ng vsftpd.
Sa mga sumusunod na seksyon, pupunta kami sa ilang mahahalagang setting na kinakailangan upang i-configure ang isang secure na pag-install ng vsftpd.
Magsimula sa pamamagitan ng pagbubukas ng vsftpd na file ng pagsasaayos:
1. Pag-access sa FTP
Pinahihintulutan namin ang pag-access sa FTP server lamang sa mga lokal na gumagamit, hanapin ang
anonymous_enable
at
local_enable
at i-verify ang iyong pagtutugma ng pagsasaayos sa mga linya sa ibaba:
anonymous_enable=NO local_enable=YES
2. Paganahin ang pag-upload
Hindi
write_enable
setting na
write_enable
maaaring payagan ang mga pagbabago sa filesystem tulad ng pag-upload at pagtanggal ng mga file.
3. Chroot Jail
Upang maiwasan ang mga gumagamit ng FTP na ma-access ang anumang mga file sa labas ng kanilang mga direktoryo sa bahay na hindi kasama ang setting ng
chroot
.
chroot_local_user=YES
Bilang default upang maiwasan ang kahinaan sa seguridad, kapag ang pagpapaandar ay pinagana ang vsftpd ay tumanggi upang mag-upload ng mga file kung ang direktoryo na nakakonekta ang mga gumagamit ay nakasulat.
Gumamit ng isa sa mga pamamaraan sa ibaba upang payagan ang pag-upload kapag pinagana ang chroot.
-
Pamamaraan 1. - Ang inirekumendang pamamaraan upang payagan ang pag-upload ay upang mapanatili ang pag-chroot, at i-configure ang mga direktoryo ng FTP. Sa tutorial na ito, gagawa kami ng isang direktoryo ng
/etc/vsftpd.confftploob ng tahanan ng gumagamit na magsisilbing chroot at isang mai-uploadsdirektoryo ng upload para sa pag-upload ng mga file.user_sub_token=$USER local_root=/home/$USER/ftpParaan 2. - Ang isa pang pagpipilian ay upang idagdag ang sumusunod na direktiba sa file ng pagsasaayos ng vsftpd. Gamitin ang pagpipiliang ito kung kailangan mong magbigay ng nakasulat na pag-access sa iyong gumagamit sa direktoryo ng bahay nito.
/etc/vsftpd.confallow_writeable_chroot=YES
4. Passive FTP na Koneksyon
Maaaring gamitin ng vsftpd ang anumang port para sa mga pasibo na mga koneksyon sa FTP. Tukuyin namin ang minimum at maximum na saklaw ng mga port at kalaunan buksan ang saklaw sa aming firewall.
Idagdag ang mga sumusunod na linya sa file ng pagsasaayos:
/etc/vsftpd.conf
pasv_min_port=30000 pasv_max_port=31000
5. Limitahan ang Pag-login sa Gumagamit
Upang payagan lamang ang ilang mga gumagamit na mag-log in sa FTP server idagdag ang mga sumusunod na linya sa dulo ng file:
userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO
Kapag pinagana ang pagpipiliang ito kailangan mong malinaw na tukuyin kung aling mga gumagamit ang maaaring mag-log in sa pagdaragdag ng mga pangalan ng gumagamit sa
/etc/vsftpd.user_list
file (isang gumagamit bawat linya).
6. Pag-secure ng Mga Transmissions kasama ang SSL / TLS
Upang ma-encrypt ang mga pagpapadala ng FTP sa SSL / TLS, kakailanganin mong magkaroon ng isang SSL certificate at i-configure ang FTP server upang magamit ito.
Maaari kang gumamit ng isang umiiral na sertipiko ng SSL na nilagdaan ng isang pinagkakatiwalaang Awtoridad ng Sertipiko o lumikha ng isang sertipiko na naka-sign sa sarili
Kami ay bubuo ng isang naka-sign na SSL sertipiko gamit ang
openssl
utos.
Ang sumusunod na utos ay lilikha ng isang 2048-bit pribadong key at sertipiko na nilagdaan ng sarili na may bisa sa loob ng 10 taon. Parehong ang pribadong key at sertipiko ay mai-save sa parehong file:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
Kapag ang SSL sertipiko ay nilikha buksan ang vsftpd pagsasaayos ng file:
sudo nano /etc/vsftpd.conf
Hanapin ang
rsa_cert_file
at
rsa_private_key_file
tagubilin, baguhin ang kanilang mga halaga sa landas ng file ng
pam
file at itakda ang
ssl_enable
sa
YES
:
rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES
Kung hindi tinukoy kung hindi, ang FTP server ay gagamit lamang ng TLS upang makagawa ng mga ligtas na koneksyon.
I-restart ang Serbisyo ng vsftpd
Kapag tapos ka na ng pag-edit, ang file ng pagsasaayos ng vsftpd (hindi kasama ang mga komento) ay dapat magmukhang katulad nito:
/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/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem 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
I-save ang file at i-restart ang serbisyo ng vsftpd para sa mga pagbabago na magkakabisa:
Pagbukas ng Firewall
Upang buksan ang port
21
(FTP command port), port
20
(FTP data port) at
30000-31000
(Passive port port), patakbuhin ang sumusunod na mga utos:
sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp
Upang maiwasan ang mai-lock out, buksan ang port
22
:
sudo ufw allow OpenSSH
Reload ang UFW patakaran sa pamamagitan ng pagpapagana at muling paganahin ang UFW:
sudo ufw disable
sudo ufw enable
Upang mapatunayan ang mga pagbabago na tumatakbo:
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)
Paglikha ng FTP Gumagamit
Upang subukan ang aming FTP server ay gagawa kami ng isang bagong gumagamit.
- Kung mayroon ka nang isang gumagamit na nais mong bigyan ang FTP access laktawan ang 1st step.Kung nagtakda ka ng
allow_writeable_chroot=YESsa iyong file ng pagsasaayos na laktawan ang ika-3 na hakbang.
-
Lumikha ng isang bagong gumagamit na nagngangalang
newftpuser:sudo adduser newftpuserIdagdag ang gumagamit sa pinapayagan na listahan ng mga gumagamit ng FTP:
echo "newftpuser" | sudo tee -a /etc/vsftpd.user_listLumikha ng puno ng direktoryo ng FTP at itakda ang tamang mga pahintulot:
sudo mkdir -p /home/newftpuser/ftp/uploadsudo chmod 550 /home/newftpuser/ftpsudo chmod 750 /home/newftpuser/ftp/uploadsudo chown -R newftpuser: /home/newftpuser/ftpTulad ng tinalakay sa nakaraang seksyon ang gumagamit ay maaaring mai-upload ang mga file nito sa direktoryo ng
ftp/upload.
Sa puntong ito, ang iyong FTP server ay ganap na gumagana at dapat mong kumonekta sa iyong server gamit ang anumang FTP client na maaaring mai-configure upang magamit ang TLS encryption tulad ng FileZilla.
Hindi pagpapagana ng Pag-access sa Shell
Bilang default, kapag lumilikha ng isang gumagamit, kung hindi malinaw na tinukoy ang gumagamit ay magkakaroon ng SSH access sa server.
Upang hindi paganahin ang pag-access sa shell, gagawa kami ng isang bagong shell na i-print lamang ang isang mensahe na nagsasabi sa gumagamit na ang kanilang account ay limitado lamang sa FTP access.
Lumikha ng
/bin/ftponly
shell at gawin itong maipapatupad:
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
Maglagay ng bagong shell sa listahan ng mga wastong shells sa
/etc/shells
file:
echo "/bin/ftponly" | sudo tee -a /etc/shells
Baguhin ang shell ng gumagamit sa
/bin/ftponly
:
sudo usermod newftpuser -s /bin/ftponly
Gumamit ng parehong utos upang mabago ang shell ng lahat ng mga gumagamit na nais mong bigyan lamang ng access sa FTP.
Konklusyon
Sa tutorial na ito, natutunan mo kung paano i-install at i-configure ang isang secure at mabilis na FTP server sa iyong Ubuntu 18.04 system.
ftp ubuntuBaguhin ang laki, i-edit, mag-upload, sa iyong menu ng konteksto ng right click na maaaring makatulong sa iyo na madaling i-preview, palitan ang laki, i-edit, mag-upload sa ImageShack, mag-edit ng metadata ng IPC, mag-convert ng mga larawan.
XnView Shell Extension ay isang extension para sa mga bintana ng explorer na nagbibigay-daan sa iyo i-edit ang mga larawan mula mismo sa explorer click ang konteksto mismo sa menu ng konteksto.
Paano mag-host ng isang folder bilang isang ftp server sa mga bintana
Narito Paano Mag-host ng isang Folder bilang isang FTP Server sa Windows Computer.
Paano mag-import ng mga screenshot upang mag-snagit editor, mag-convert ng batch
Kung mayroon kang maraming mga imahe na kailangang mai-import sa isang tool para sa pag-convert ng batch, pagkatapos ay huwag nang tumingin pa. Ang Snagit Editor ay maaaring gawin iyon at marami pa. Narito kung paano.







