FTP介紹及使用vsftpd搭建ftp服務(上)

2021-08-14 11:28:57 字數 4712 閱讀 2796

ftp(file transfer protocol)檔案傳輸協議,用於在internet上控制檔案的雙向傳輸。ftp主要作用是讓使用者連線乙個遠端計算機(這些計算機上執行著ftp伺服器程式)檢視遠端計算機有哪些檔案,然後把檔案從遠端計算機上拷貝到本地計算機,或把本地檔案傳送到遠端計算機。

該服務在小公司用的比較多,由於ftp服務的安全性較差,所以大公司不使用該服務。

1,安裝vsftp工具及建立使用者
[root@dl-001 src]# yum install vsftpd

[root@dl-001 src]# useradd -s /sbin/nologin virftp

說明: vsftpd可以使用系統級別的使用者進行登入,但是這樣做不安全,所以需要使用vsftpd建立乙個虛擬使用者。在此建立乙個系統普通使用者的作用是使vsftpd的虛擬使用者來進行對映,然後完成資料的傳輸。

2,編輯虛擬使用者密碼檔案,並更改檔案許可權

[root@dl-001 src]# vim /etc/vsftpd/vsftpd_login

test1

dinglet1

tese2

dinglet2

[root@dl-001 src]# chmod 600 /etc/vsftpd/vsftpd_login

說明: 該檔案中內容奇數行為使用者名稱,偶數行為使用者密碼。

3,檔案轉換

將該密碼檔案轉換成計算機能識別的二進位制檔案。

[root@dl-001 src]# db_load -t -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

[root@dl-001 src]# ls -l /etc/vsftpd/

總用量 32

-rw-------. 1 root root 125

8月 314:

10 ftpusers

-rw-------. 1 root root 361

8月 314:

10 user_list

-rw-------. 1 root root 5030

8月 314:

10 vsftpd.conf

-rwxr--r--. 1 root root 338

8月 314:

10 vsftpd_conf_migrate.sh

-rw-------. 1 root root 30

1月 3 09:

45 vsftpd_login

-rw-r--r--. 1 root root 12288

1月 3 09:

47 vsftpd_login.db //檢視生成密碼檔案成功

4,建立虛擬使用者配置檔案
[root@dl-001 src]# mkdir /etc/vsftpd/vsftpd_user_conf

[root@dl-001 src]# cd !$

cd /etc/vsftpd/vsftpd_user_conf

[root@dl-001 vsftpd_user_conf]# vim test1 //建立test1虛擬使用者配置檔案

local_root=/home/virftp/test1

anonymous_enable=no

write_enable=yes

local_umask=022

anon_upload_enable=no

anon_mkdir_write_enable=no

idle_session_timeout=600

data_connection_timeout=120

max_clients=10

[root@dl-001 vsftpd_user_conf]# ls

test1

說明:保持虛擬使用者配置檔案和虛擬使用者名稱一致。

5,建立虛擬使用者家目錄

[root@dl-001 vsftpd_user_conf]# mkdir /home/virftp/test1

[root@dl-001 vsftpd_user_conf]# touch /home/virftp/test1/dl.txt

[root@dl-001 vsftpd_user_conf]# chown -r virftp:virftp /home/virftp

6,虛擬使用者密碼匹配
[root@dl-001 vsftpd_user_conf]# vim /etc/pam.d/vsftpd    

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

[root@dl-001 vsftpd_user_conf]# ls /lib64/security/pam_userdb.so //檢視該檔案是否存在

/lib64/security/pam_userdb.so

說明: 在該檔案中新增這兩行內容,用於指定使用者密碼檔案位置。

注意: 在centos6中「/lib64/security/pam_userdb.so」該檔案區分版本(32位、64位)。

7,編輯vsftpd主配置檔案

[root@dl-001 vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf     //編輯vsftpd的主配置檔案

vim /etc/vsftpd/vsftpd.conf

將anonymous_enable=yes 改為 anonymous_enable=no

//匿名使用者

將#anon_upload_enable=yes 改為 anon_upload_enable=no

將#anon_mkdir_write_enable=yes 改為 anon_mkdir_write_enable=no //是否允許建立目錄

再增加如下內容

chroot_local_user=yes

guest_enable=yes

guest_username=virftp

virtual_use_local_privs=yes

user_config_dir=/etc/vsftpd/vsftpd_user_conf

allow_writeable_chroot=yes

8,啟動服務並檢視監聽的埠
[root@dl-001 vsftpd_user_conf]# systemctl start vsftpd    

[root@dl-001 vsftpd_user_conf]# ps aux|grep vsftp

root 2514

0.00.0

53216

572 ? ss10:

140:00 /usr/sbin/vsftpd /etc/vsftd/vsftpd.conf

root 2516

0.00.0

112680

976 pts/0

r+ 10:14

0:00 grep --color=auto vsftp

[root@dl-001 vsftpd_user_conf]# netstat -lntp

active

internet connections (only servers)

proto

recv-q

send-q

local

address

foreign

address

state

pid/program name

tcp 0

00.0.0.0

:111

0.0.0.0

:*listen

1/systemd

tcp 0

00.0.0.0:22

0.0.0.0

:*listen

1463/sshd

tcp 0

0127.0.0.1:25

0.0.0.0

:*listen

2211/master

tcp6 00:

::3306::

:*listen

1986/mysqld

tcp6 00:

::111:::*

listen

1/systemd

tcp6 00:

::21:

::*listen

2514/vsftpd

tcp6 00:

::22:

::*listen

1463/sshd

tcp6 00:

:1:25

:::*listen

2211/master

說明:ftp服務監聽21埠;sshd監聽22埠;telnet監聽23埠。

使用vsftpd搭建FTP服務

配置ftp服務 ftp工作在tcp ip模型的應用層,基於的傳輸協議是tcp,ftp客戶端和伺服器之間的連線是可靠的,面向連線的,為資料的傳輸提供了可靠的保證。使用yum工具安裝vsftpd包 yum install y epel release yum install y vsftpd db4 u...

linux使用vsftpd開啟ftp服務

1.安裝vsftpd伺服器 vsftpd是目前linux最好的ftp伺服器工具之一,其中的vs就是 very secure 很安全 的縮寫,可見它的最大優點就是安全,除此之外,它還具有體積小,可定製強,效率高的優點。如果選擇完全安裝red hat linux 9.0,則系統會預設安裝vsftpd伺服...

ubuntu下使用vsftpd搭建ftp伺服器

用什麼開頭呢?就用這個吧。1.安裝vsftpd sudo apt get install vsftpd 2.說明要求,伺服器需要供三種使用者訪問,,本地使用者和虛擬使用者,就是anonymous,密碼任意的使用者,本地使用者就是linux系統中真實存在的使用者,虛擬使用者是為了使客戶能訪問ftp伺服...