ubuntu1804搭建FTP服務(wù)器的詳細(xì)教程
搭建FTP服務(wù)器
FTP的工作原理:
FTP:File Transfer Protocol ,文件傳輸協(xié)議。屬于NAS存儲(chǔ)的一種協(xié)議,基于CS結(jié)構(gòu)。
ftp采用的是雙端口模式,分為命令端口和數(shù)據(jù)端口,命令端口對(duì)應(yīng)命令通道,數(shù)據(jù)端口對(duì)應(yīng)數(shù)據(jù)通道。
命令端口:FTP服務(wù)器的命令端口默認(rèn)是tcp/21
數(shù)據(jù)端口:隨機(jī)
兩種工作模式:主動(dòng)模式和被動(dòng)模式
主動(dòng)模式:FTP服務(wù)器主動(dòng)連接客戶端,這個(gè)時(shí)候FTP服務(wù)器的數(shù)據(jù)端口使用的是20端口。
被動(dòng)模式:客戶端主動(dòng)連接FTP服務(wù)器,這時(shí)候FTP服務(wù)器的數(shù)據(jù)端口是隨機(jī)的。
FTP的工作過(guò)程:
1.服務(wù)端開啟對(duì)21端口的監(jiān)聽(tīng)。
2.客戶端發(fā)起對(duì)服務(wù)端的連接請(qǐng)求,通過(guò)服務(wù)器的21端口連接到服務(wù)器。此時(shí)建立起了命令通道,命令通道用于傳輸和通信相關(guān)的一些指令。
3.建立數(shù)據(jù)通道
如果是主動(dòng)模式:服務(wù)端會(huì)使用20端口主動(dòng)連客戶端的一個(gè)隨機(jī)端口。
如果是被動(dòng)模式:客戶端使用一個(gè)隨機(jī)端口連接服務(wù)端的一個(gè)隨機(jī)端口
4.使用數(shù)據(jù)通道進(jìn)行數(shù)據(jù)的傳輸。
探測(cè)端口是否打開的方法:
telnet工具:
例如:查看22端口是否開啟
#格式:telnet host port #如果能響應(yīng)則端口就是打開的 #如果telnet能響應(yīng)則端口就是打開的 [root@CentOS8 ~]# telnet 10.0.0.12 22 Trying 10.0.0.12... Connected to 10.0.0.12. Escape character is '^]'. SSH-2.0-OpenSSH_8.0
nmap工具:
[root@HAproxy ~]# nmap 10.0.0.66 -p 21 Starting Nmap 7.70 ( https://nmap.org ) at 2022-12-08 13:37 CST Nmap scan report for 10.0.0.66 Host is up (0.00033s latency). PORT STATE SERVICE 21/tcp open ftp MAC Address: 00:0C:29:29:03:AF (VMware) Nmap done: 1 IP address (1 host up) scanned in 0.53 seconds
實(shí)現(xiàn)FTP的相關(guān)軟件:
windows中的相關(guān)軟件:Filezilla、IIS
Filezilla官網(wǎng): https://filezilla-project.org/index.php
linux中的相關(guān)軟件:
服務(wù)端:vsftpd、Wu-ftpd等
vsftpd官網(wǎng): https://security.appspot.com/vsftpd.html
客戶端:ftp、wget、curl等
VSFTP
性能好、下載速度快、單機(jī)可支持15k并發(fā)量
VSFTP的安裝和配置:
ubuntu安裝vsftpd:
[root@HAproxy vsftpd]# apt install vsftpd -y # 說(shuō)明:vsftpd搭建的ftp服務(wù)器默認(rèn)只允許匿名用戶連接 匿名用戶包括:ftp、anonmous。 # ubuntu1804 默認(rèn)不允許匿名
訪問(wèn)ftp服務(wù)器的三種方式:
1. 匿名賬號(hào)訪問(wèn):ftp或anonymous
2. FTP服務(wù)器的本地賬號(hào)訪問(wèn):例如linux里面的root等用戶賬號(hào)
3. 虛擬賬號(hào)訪問(wèn):
虛擬賬號(hào):操作系統(tǒng)中不存在的賬號(hào),專用于對(duì)應(yīng)服務(wù)的賬號(hào)。
例如登錄mysql使用的賬號(hào)也是虛擬賬號(hào)
VSFTPD的相關(guān)配置
FTP服務(wù)器的基礎(chǔ)配置:
配置文件格式:option=value # 注意:= 前后不要有空格
端口修改:
局域網(wǎng)內(nèi)使用,端口一般不用修改
FTP服務(wù)器默認(rèn)端口修改:
# 默認(rèn)客戶端發(fā)起對(duì)服務(wù)端的連接請(qǐng)求,通過(guò)服務(wù)器的21端口連接到服務(wù)器 listen_port=2121 # 指定ftp服務(wù)器的端口是2121
FTP服務(wù)器主動(dòng)模式數(shù)據(jù)通道端口修改:
# 更改數(shù)據(jù)通道主動(dòng)模式服務(wù)端的端口:一般不用修改 connect_from_port_20=YES ftp_data_port=20 (默認(rèn)) # 指定主動(dòng)模式的端口
FTP服務(wù)器被動(dòng)模式的端口范圍:
# 設(shè)置服務(wù)端被動(dòng)模式的端口范圍: 被動(dòng)模式:客戶端主動(dòng)連服務(wù)端 服務(wù)器端的數(shù)據(jù)通道端口隨機(jī) # 服務(wù)端被動(dòng)模式的端口范圍一般不用修改 pasv_min_port=6000 # 0為隨機(jī)分配,端口范圍會(huì)影響客戶端的并發(fā)數(shù) pasv_max_port=6010 # 表示被動(dòng)模式端口范圍是6000-6010 一共11個(gè)端口可用
注意:
# 使用linux的客戶端工具連接ftp服務(wù)端時(shí):客戶端默認(rèn)使用被動(dòng)模式 例如:ftp # 使用windows的客戶端工具連接ftp服務(wù)端時(shí):客戶端默認(rèn)使用主動(dòng)模式 例如:Filezilla
FTP服務(wù)器的時(shí)間設(shè)置:
# 設(shè)置ftp服務(wù)器的時(shí)間為本地時(shí)間:(一般不用修改。有些客戶端能自動(dòng)校準(zhǔn)時(shí)間) use_localtime=YES # 使用當(dāng)?shù)貢r(shí)間(默認(rèn)為NO,使用GMT)
FTP服務(wù)器匿名用戶的相關(guān)設(shè)置
FTP服務(wù)器默認(rèn)只允許匿名用戶登錄,匿名用戶包括ftp或anonymous。
匿名用戶:在客戶機(jī)上不存在的用戶叫做匿名用戶,匿名用戶是單獨(dú)為特定服務(wù)效力的用戶。例如FTP服務(wù)器的ftp用戶,mysql的root用戶等都是匿名用戶。
# 設(shè)置允許匿名用戶登錄 centos7默認(rèn)就允許匿名用戶登錄 anonymous_enable=YES # 支持匿名用戶,默認(rèn)不允許匿名 # 設(shè)置允許匿名用戶使用空密碼登錄。 no_anon_password=YES # 匿名用戶略過(guò)口令檢查 , 默認(rèn)NO,表示不輸入匿名用戶的密碼進(jìn)行登錄
匿名用戶權(quán)限設(shè)置
# 設(shè)置匿名用戶能上傳文件到FTP服務(wù)器 anon_upload_enable=YES # 允許匿名上傳,注意:文件系統(tǒng)權(quán)限 # 設(shè)置匿名用戶能在FTP服務(wù)器上創(chuàng)建目錄文件 anon_mkdir_write_enable=YES #允許匿名創(chuàng)建文件夾
說(shuō)明:
# 跨網(wǎng)絡(luò)傳輸數(shù)據(jù)需要注意的問(wèn)題: # (1)服務(wù)自身:服務(wù)本身是否允許 # (2)文件系統(tǒng)的權(quán)限:是否具備文件系統(tǒng)的寫權(quán)限 例如:雖然開啟了允許匿名用戶上傳文件,但是文件對(duì)這個(gè)用戶沒(méi)有寫權(quán)限,照樣上傳不上去
說(shuō)明:設(shè)置文件權(quán)限的時(shí)候,不能給用戶的根目錄寫權(quán)限,只能給子目錄寫權(quán)限,否則連接的時(shí)候報(bào)如下錯(cuò)誤
500 OOPS: vsftpd: refusing to run with writable root inside chroot() Login failed. 421 Service not available, remote server has closed connection
匿名用戶上傳的文件屬性設(shè)置
# 設(shè)置匿名用戶的上傳文件的默認(rèn)的所有者和權(quán)限 chown_uploads=YES # 默認(rèn)NO YES表示允許修改上傳文件的權(quán)限和所有者 chown_username=wang # 指定匿名用戶上傳文件的文件所有者(如果不指定,文件的屬主就是這個(gè)匿名用戶) chown_upload_mode=0644 # 指定上傳文件的文件權(quán)限
例如:不設(shè)置匿名用戶上傳的文件屬性
#文件的屬主就是這個(gè)匿名用戶 root@ubuntu1804:/srv/ftp/tmp# ll -rw------- 1 ftp ftp 1659 Dec 7 21:37 anaconda-ks.cfg -rw------- 1 ftp ftp 258449 Dec 7 21:20 ''$'\265\347\327''?'$'\317''?.pdf' -rw------- 1 ftp ftp 77703 Dec 7 21:20 ZKZ_4224961_20201023210611127.pdf -rw------- 1 ftp ftp 247706 Dec 7 21:30 xxxxxx.pdf'
下載
默認(rèn)下載FTP服務(wù)器上的文件,只有所有人都具有讀權(quán)限的文件才能下載。
# 方法一: anon_world_readable_only=NO # 只能下載全部讀的文件, 默認(rèn)YES,表示只有所有人都具有讀權(quán)限的文件才能下載 # 方法二:設(shè)置上傳文件的默認(rèn)權(quán)限 anon_umask=0333 # 指定匿名上傳文件的umask,默認(rèn)077,注意:0333中的0不能省略 (777-333=444)
刪除和修改
# 默認(rèn)情況是傳上去了就不能刪除了 anon_other_write_enable=YES # 可刪除和修改上傳的文件,默認(rèn)NO ,改為yes
使用FTP服務(wù)器的系統(tǒng)用戶登錄FTP服務(wù)器相關(guān)設(shè)置
使用FTP服務(wù)器上面的系統(tǒng)用戶進(jìn)行登錄。
# 設(shè)置允許系統(tǒng)用戶登錄ftp服務(wù)器并上傳文件: local_enable=YES # 是否允許本地用戶登錄,YES表示允許 write_enable=YES # 是否允許本地用戶上傳文件,YES表示允許 local_umask=022 # 指定系統(tǒng)用戶上傳文件的默認(rèn)權(quán)限對(duì)應(yīng)umask
系統(tǒng)用戶的相關(guān)權(quán)限設(shè)置
local_enable=YES # 是否允許本地用戶登錄,YES表示允許 write_enable=YES # 是否允許本地用戶上傳文件,YES表示允許 local_umask=022 # 指定系統(tǒng)用戶上傳文件的默認(rèn)權(quán)限對(duì)應(yīng)umask
FTP服務(wù)器的虛擬用戶設(shè)置
使用系統(tǒng)用戶登錄FTP服務(wù)器的時(shí)候,統(tǒng)一將所有系統(tǒng)用戶都映射成某一個(gè)guest用戶。
可以映射為任何一個(gè)用戶,但這個(gè)用戶必須要在FTP服務(wù)器上面存在才行。不一定是ftp這個(gè)用戶,可以映射成任何一個(gè)系統(tǒng)賬號(hào)。
guest_enable=YES # 所有系統(tǒng)用戶都映射成某一個(gè)guest用戶 guest_username=ftp # 配合上面選項(xiàng)才生效,指定guest用戶 local_root=/ftproot # 指定guest賬號(hào)登錄進(jìn)來(lái)映射的目錄 所有的操作系統(tǒng)用戶登錄進(jìn)來(lái)都是這個(gè)目錄(如果不指定就在guest_username這個(gè)用戶的家目錄里面) #設(shè)置每個(gè)用戶都擁有獨(dú)立的配置 user_config_dir=/etc/vsftpd/conf.d/ # 每個(gè)用戶獨(dú)立的配置文件目錄 這里可以針對(duì)不同的用戶放不同的配置
禁錮設(shè)置
禁錮所有系統(tǒng)用戶在家目錄中,不能cd到其它目錄。因?yàn)槭褂孟到y(tǒng)用戶登錄以后,默認(rèn)能隨便切換到其它目錄里面去。
#不允許用戶隨便切換目錄,只能在家目錄中 chroot_local_user=YES #禁錮系統(tǒng)用戶,默認(rèn)NO,即不禁錮 # 此時(shí)ftp會(huì)把對(duì)應(yīng)用戶的家目錄作為根目錄,如果這個(gè)家目錄存在寫權(quán)限則登錄的時(shí)候會(huì)提示錯(cuò)誤相關(guān)錯(cuò)誤信息。
其它設(shè)置
設(shè)置ftp服務(wù)器的日志:
# vsftpd默認(rèn)使用的就是wu-ftp的日志格式,vsftpd日志:默認(rèn)不啟用。可以手動(dòng)啟用 # wu-ftp 日志:默認(rèn)啟用 xferlog_enable=YES # 啟用記錄上傳下載日志,此為默認(rèn)值 xferlog_std_format=YES # 使用wu-ftp日志格式,此為默認(rèn)值 xferlog_file=/var/log/xferlog #可自動(dòng)生成, 此為默認(rèn)值 # vsftpd日志:默認(rèn)不啟用 dual_log_enable=YES # 使用vsftpd日志格式,默認(rèn)不啟用 vsftpd_log_file=/var/log/vsftpd.log # 可自動(dòng)生成, 此為默認(rèn)值
設(shè)置用戶使用客戶端連接ftp服務(wù)器后的提示信息:
# 方法一: ftpd_banner="welcome to mage ftp server" # 方法二:將提示信息存放到一個(gè)文件中 banner_file=/etc/vsftpd/ftpbanner.txt
范例:ubuntu1804 配置匿名用戶訪問(wèn)FTP服務(wù)器
#1. 創(chuàng)建對(duì)應(yīng)的目錄 root@ubuntu1804:~# mkdir /data root@ubuntu1804:~# mkdir /data/data root@ubuntu1804:~# chmod 777 /data/data #簡(jiǎn)單粗暴的方法 # root@ubuntu1804:~# setfacl -m u:ftp:rwx /data/data # 給ftp用戶權(quán)限 #2. 修改配置文件 root@ubuntu1804:~# vim /etc/vsftpd.conf anonymous_enable=YES no_anon_password=YES anon_upload_enable=yes anon_mkdir_write_enable=yes anon_other_write_enable=yes anon_world_readable_only=NO write_enable=yes # allow_writeable_chroot=YES #對(duì)根目錄的寫權(quán)限,匿名用戶不生效 chroot_local_user=YES anon_root=/data #指定匿名用戶登錄進(jìn)來(lái)后的根目錄,如果不加就在該用戶的家目錄 #3. 重啟服務(wù) root@ubuntu1804:~# systemctl status vsftpd.service #4. 測(cè)試 [root@HAproxy ~]# ftp 10.0.0.66 #連接到FTP服務(wù)器 Connected to 10.0.0.66 (10.0.0.66). 220 (vsFTPd 3.0.3) Name (10.0.0.66:root): ftp 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 "/" is the current directory ftp> ls 227 Entering Passive Mode (10,0,0,66,235,199). 150 Here comes the directory listing. -rw-r--r-- 1 0 0 0 Dec 08 10:33 12345 drwxr-xr-x 2 111 115 4096 Dec 08 10:38 data 226 Directory send OK. ftp> cd data #進(jìn)入數(shù)據(jù)目錄 250 Directory successfully changed. ftp> !ls 12345 abc anaconda-ks.cfg ftp> put 12345 #上傳文件 local: 12345 remote: 12345 227 Entering Passive Mode (10,0,0,66,158,145). 150 Ok to send data. 226 Transfer complete. ftp> ls 227 Entering Passive Mode (10,0,0,66,157,235). 150 Here comes the directory listing. -rw------- 1 111 115 4 Dec 08 10:37 123 -rw------- 1 111 115 0 Dec 08 10:42 12345 226 Directory send OK. ftp> get 123 #下載文件 local: 123 remote: 123 227 Entering Passive Mode (10,0,0,66,67,112). 150 Opening BINARY mode data connection for 123 (4 bytes). 226 Transfer complete. 4 bytes received in 2.1e-05 secs (190.48 Kbytes/sec) ftp>
范例:設(shè)置允許FTP服務(wù)器的系統(tǒng)用戶來(lái)登錄ftp服務(wù)器
# 創(chuàng)建測(cè)試目錄 root@ubuntu1804:~# mkdir /ftproot root@ubuntu1804:~# chmod 777 /ftproot root@ubuntu1804:~# setfacl -m u:ftp:rwx /ftproot #更改配置文件 local_enable=YES write_enable=YES local_umask=022 local_root=/ftproot allow_writeable_chroot=YES #允許對(duì) chroot_local_user=YES #測(cè)試 [root@HAproxy ~]# ftp 10.0.0.66 Connected to 10.0.0.66 (10.0.0.66). 220 (vsFTPd 3.0.3) Name (10.0.0.66:root): tom #如果這個(gè)用戶在FTP服務(wù)器上不存在,需要使用useradd -m xx創(chuàng)建 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (10,0,0,66,60,121). 150 Here comes the directory listing. -rw-r--r-- 1 0 0 0 Dec 08 10:56 12345 -rw-r--r-- 1 1000 1000 1659 Dec 08 10:59 anaconda-ks.cfg drwxrwxrwx 2 0 0 4096 Dec 08 10:58 data -rw-r--r-- 1 1000 1000 1198 Dec 08 10:59 notepad++.exe - ??·??.lnk 226 Directory send OK. ftp> !ls 123 12345 abc anaconda-ks.cfg ftp> put 123 #上傳文件 local: 123 remote: 123 227 Entering Passive Mode (10,0,0,66,57,52). 150 Ok to send data. 226 Transfer complete. 4 bytes sent in 7.4e-05 secs (54.05 Kbytes/sec) ftp> get anaconda-ks.cfg #下載文件 local: anaconda-ks.cfg remote: anaconda-ks.cfg 227 Entering Passive Mode (10,0,0,66,28,156). 150 Opening BINARY mode data connection for anaconda-ks.cfg (1659 bytes). 226 Transfer complete. 1659 bytes received in 9.1e-05 secs (18230.77 Kbytes/sec) ftp>
范例:設(shè)置系統(tǒng)用戶登錄FTP服務(wù)器后統(tǒng)一映射為一個(gè)虛擬用戶
#1. 創(chuàng)建目錄文件 root@ubuntu1804:~# mkdir /ftproot root@ubuntu1804:~# chmod 777 /ftproot #2. 修改配置文件 root@ubuntu1804:~# vim /etc/vsftpd.conf local_enable=YES write_enable=yes guest_enable=YES guest_username=ftp chroot_local_user=YES #禁錮 local_root=/ftproot #因?yàn)橛成錇榱颂摂M用戶 所以要配置虛擬用戶的相關(guān)權(quán)限 anon_upload_enable=yes anon_mkdir_write_enable=yes anon_other_write_enable=yes anon_world_readable_only=NO allow_writeable_chroot=YES #允許對(duì)根目錄有寫權(quán)限 # 3.重啟服務(wù) root@ubuntu1804:~# systemctl restart vsftpd.service # 4. 測(cè)試 [root@HAproxy ~]# ftp 10.0.0.66 #連接FTP服務(wù)器 Connected to 10.0.0.66 (10.0.0.66). 220 (vsFTPd 3.0.3) Name (10.0.0.66:root): tom #FTP服務(wù)器的系統(tǒng)用戶登錄 331 Please specify the password. Password: #輸入密碼 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> !ls 123 12345 abc anaconda-ks.cfg ftp> put abc #上傳文件 local: abc remote: abc 227 Entering Passive Mode (10,0,0,66,143,226). 150 Ok to send data. 226 Transfer complete. 4 bytes sent in 6.6e-05 secs (60.61 Kbytes/sec) ftp> get desktop.ini #下載文件 local: desktop.ini remote: desktop.ini 227 Entering Passive Mode (10,0,0,66,45,217). 150 Opening BINARY mode data connection for desktop.ini (474 bytes). 226 Transfer complete. 474 bytes received in 0.000216 secs (2194.44 Kbytes/sec) ftp> !ls #查看下載的文件 123 12345 abc anaconda-ks.cfg desktop.ini
范例:將系統(tǒng)用戶映射為一個(gè)指定的系統(tǒng)用戶
#1. 創(chuàng)建目錄 root@ubuntu1804:~# mkdir /ftproot root@ubuntu1804:~# chmod 777 /ftproot #2. 修改配置文件 和上面的配置文件一樣 local_enable=YES #允許本地用戶登錄 write_enable=YES #允許本地用戶上傳文件 local_umask=022 #允許本地用戶上傳文件的權(quán)限 local_root=/ftproot #指定用戶的目錄 allow_writeable_chroot=YES #允許對(duì)根目錄有寫權(quán)限 chroot_local_user=YES #禁錮用戶 guest_enable=YES #允許映射為指定用戶 guest_username=bob #系統(tǒng)用戶bob anon_other_write_enable=yes anon_upload_enable=yes # anon_mkdir_write_enable=yes anon_world_readable_only=NO #3. 重啟服務(wù) root@ubuntu1804:~# systemctl restart vsftpd.service #4. 測(cè)試 [root@HAproxy ~]# ftp 10.0.0.66 Connected to 10.0.0.66 (10.0.0.66). 220 (vsFTPd 3.0.3) Name (10.0.0.66:root): tom 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (10,0,0,66,194,152). 150 Here comes the directory listing. drwx------ 2 1001 1001 4096 Dec 08 11:47 157 drwxrwxrwx 2 0 0 4096 Dec 08 11:33 data 226 Directory send OK. ftp> !ls 123 12345 abc anaconda-ks.cfg desktop.ini ftp> put 123 #上傳 local: 123 remote: 123 227 Entering Passive Mode (10,0,0,66,150,72). 150 Ok to send data. 226 Transfer complete. 4 bytes sent in 5.5e-05 secs (72.73 Kbytes/sec) ftp> get 123 #下載 local: 123 remote: 123 227 Entering Passive Mode (10,0,0,66,171,38). 150 Opening BINARY mode data connection for 123 (4 bytes). 226 Transfer complete. 4 bytes received in 9.5e-05 secs (42.11 Kbytes/sec)
注意事項(xiàng)
將登錄的目錄作為了當(dāng)前用戶的根目錄,但是FTP服務(wù)器的根站點(diǎn)要求這個(gè)登錄的用戶對(duì)他沒(méi)有寫權(quán)限。
例如使用wang用戶進(jìn)行登錄,對(duì)用戶進(jìn)行了禁錮的操作,使用wang登錄的時(shí)候,就把/homt/wang作為了根,但是wang對(duì)這個(gè)目錄有寫權(quán)限,所以登錄就會(huì)報(bào)錯(cuò)。
解決方法:
# 方法一: chomod 555 /home/wang #取消寫權(quán)限 #方法二: allow_writeable_chroot=YES #允許對(duì)家目錄的寫權(quán)限
黑名單、白名單
chroot_list_enable=YES #默認(rèn)是NO YES表示要啟用chroot_list_file 開啟名單 chroot_list_file=/etc/vsftpd/chroot_list #里面存放用戶名
白名單:默認(rèn)都不能訪問(wèn),只有名單里面的才能訪問(wèn)。
chroot_local_user=YES #禁錮所有系統(tǒng)用戶在家目錄中 chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list #表示的是白名單
黑名單:默認(rèn)都能訪問(wèn),名單里面的不能訪問(wèn)
chroot_local_user=NO #不禁錮所有系統(tǒng)用戶在家目錄中 chroot_list_enable=YES #設(shè)置允許或者拒絕的用戶列表,YES標(biāo)識(shí)啟用這個(gè)列表 chroot_list_file=/etc/vsftpd/chroot_list #表示的是黑名單
PAM模塊實(shí)現(xiàn)用戶訪問(wèn)控制
root身份不能連接FTP服務(wù)器的原因就是使用pam來(lái)限制的,因?yàn)閒tp是明文傳輸用戶密碼的。為了安全不允許root登錄ftp服務(wù)器。
vsftpd利用pam來(lái)控制用戶的訪問(wèn)。
# vsftpd中的默認(rèn)配置: pam_service_name=vsftpd #vsftpd指的就是/etc/pam.d/vsftpd這個(gè)文件 ------------------------------------------------------------------------------------------------------------ root@ubuntu1804:/etc/pam.d# vim vsftpd # Standard behaviour for ftpd(8). #放入這個(gè)文件的用戶是被拒絕登錄FTP服務(wù)器的 auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed # Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so. # Standard pam includes @include common-account @include common-session @include common-auth auth required pam_shells.so ------------------------------------------------------------------------------------------------------------ root@ubuntu1804:/etc/pam.d# vim /etc/ftpusers #這個(gè)文件里面的用戶都是禁止登陸的 # /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5). root daemon bin sys sync games man lp mail news uucp nobody
并發(fā)連接數(shù)設(shè)置
# 同一時(shí)間允許多少個(gè)用戶連接 max_clients=1000 #默認(rèn)值是不受限制的 #每個(gè)IP同時(shí)發(fā)起的最大連接數(shù) max_per_ip=0 #默認(rèn)不受限制
速率控制
# 匿名用戶的最大傳輸速率,以字節(jié)為單位,比如:1024000表示1MB/s anon_max_rate=0 #默認(rèn)不受限制 # 本地用戶的最大傳輸速率 local_max_rate=0 #默認(rèn)不受限制
到此這篇關(guān)于ubuntu1804搭建FTP服務(wù)器的方法的文章就介紹到這了,更多相關(guān)ubuntu1804搭建FTP服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用FileZilla連接時(shí)超時(shí)無(wú)法連接到服務(wù)器
這篇文章主要介紹了使用FileZilla連接時(shí)超時(shí)無(wú)法連接到服務(wù)器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2007-09-09設(shè)置Serv-U FTP 支持被動(dòng)模式連接 ,530錯(cuò)誤等解決辦法集錦
腳本之家技術(shù)團(tuán)隊(duì)為了服務(wù)器設(shè)置的更安全,都開啟了防火墻所以就需要serv_u被動(dòng)模式加載。下面是從網(wǎng)站找到的一些資料。大家可以參考下。2011-03-03filezilla Failed to create listen socket on port 21 for IPv4
今天幫一個(gè)客戶配置filezilla的時(shí)候,提示filezilla Failed to create listen socket on port 21 for IPv4,原來(lái)是因?yàn)?1端口被占用了,換個(gè)端口就可以了2013-09-09在Serv-U中使用SSL證書增強(qiáng)FTP服務(wù)器安全性圖文設(shè)置方法
一般的FTP服務(wù)器是以明文方式傳輸數(shù)據(jù)的,安全性極差,信息很容易被盜,即使它提供了SSL加密功能,默認(rèn)情況下也可能沒(méi)有啟用,如大家常用的Serv-U FTP服務(wù)器(以下簡(jiǎn)稱Serv-U)。2011-03-03Serv-U和CuteFTP無(wú)法連接FTP服務(wù)器問(wèn)題解答
在FTP服務(wù)器使用普片流行的今天,一般進(jìn)行文件的上傳和下載都會(huì)用到FTP服務(wù)器,比如教學(xué)用的文件老師一般會(huì)放到FTP上學(xué)生可以自行下載,還有建站的時(shí)候編輯網(wǎng)站的資料都是放到FTP服務(wù)器上,方便提取等等,總之FTP應(yīng)用是非常廣泛的2014-01-01在服務(wù)器中用IIS建立FTP服務(wù)器的圖文方法
用IIS建立FTP服務(wù)器不是非常復(fù)雜,操作起來(lái)比較簡(jiǎn)單,類似于用IIS建立網(wǎng)站,其中涉及的虛擬目錄等概念和網(wǎng)站中的虛擬目錄一致2012-04-04