FTP服務搭建與配置--使用vsftpd搭建FTP服務

一 FTP介紹

使用場景:前面介紹的lrzsz工具當文件大了超過4G后就不好使用了,而FTP就適合于傳輸大文件;另外一種情況是在阿里云上,從一臺機器跳到另一臺機器,需要用到跳板機,這時候如果用rzsz去傳輸數據也會出問題,而我們可以在Linux系統上搭建一個FTP服務環境,然后客戶端比如windows可以安裝一個客戶端軟件,就可以連到服務端,把本地的文件傳到服務器上去,也可以把服務器的文件下載到本地來

? ? 由于安全性和規范性問題,FTP在小公司使用的多,大企業使用的較少,大企業如果有發布更新到服務器的需求,一般使用自動化發布的工具

二 搭建ftp服務

1、安裝

? ? centos自帶ftp服務軟件包vsftpd,可以直接使用yum安裝

? ? # yum install -y vsftpd

2、創建linux系統的普通用戶

? ? vsftpd這個軟件是可以使用系統級別的用戶來登錄的,比如我創建一個系統的普通用戶lijie,設置了一個密碼,我們是可以用lijie這個用戶和它的密碼來登錄vsftpd,只不過這個登錄不是ssh方式,而是ftp的方式,登錄進去后會進入到lijie這個用戶的家目錄下,但是這樣是有點不安全的,畢竟給這個用戶設置了密碼,它就能夠去登錄操作系統,這時候,我們可以采取給ftp設置虛擬用戶的方式解決這個問題,虛擬用戶映射成系統的一個普通用戶,或者也可以映射多個普通用戶,這樣的話就算是有了密碼,也是不能夠通過ssh去登錄這臺服務器的,這樣相對來說安全了很多

? ? 我們首先來創建一個虛擬用戶,這個虛擬用戶是用來映射的

? ? # useradd -s /sbin/nologin virftpuser ? ?

? ? 其中-s用來指定用戶的shell , ??/sbin/nologin表示不能登錄系統,virftpuser是創建的用戶的用戶名,

3、編輯虛擬用戶密碼文件

? ? # vim /etc/vsftpd/vsftpd_login ? ?//我們需要在這個文件里定義用戶名和密碼,格式是奇數行為用戶名,偶數行為密碼,添加的內容如下

4、修改虛擬用戶密碼文件的權限

? ? # chmod 600 /etc/vsftpd/vsftpd_login ? ? ?//為了安全,密碼文件只允許屬主讀寫

5、將虛擬用戶密碼文件轉換為二進制文件

? ? # ?db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db? ? ? ? ? //將文本文件轉換成計算機識別的二進制文件

? ? # ll /etc/vsftpd ? ? ? //查看二進制文件是否生成成功

? ? 上圖箭頭所指的這個二進制文件是不能直接cat的,上面我們創建的密碼文件/etc/vsftpd/vsftpd_login實際上是可以自定義的,后面我們會在另外一個配置文件中去引用

6、創建虛擬用戶配置文件所在目錄

? ? 這個目錄也是可以自定義的,后面也會在另一個配置文件中引用

? ? # mkdir /etc/vsftpd/vsftpd_user_conf

7、創建第一個虛擬用戶的配置文件

? ? # cd /etc/vsftpd/vsftpd_user_conf? ? ? ?//切換到虛擬用戶配置文件目錄

? ? # vim testuser1? ? ? ? //創建第一個虛擬用戶的配置文件,這個文件的名字要求跟對應的用戶名字保持一致

? ? 在這個配置文件中加入以下內容:

local_root=/home/virftpuser/testuser1? ? ? ?//用于定義虛擬用戶的家目錄

anonymous_enable=NO? ? ? ? ? ? ? ? ? ? //將是否允許匿名用戶設置為不允許

write_enable=YES? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//將是否允許可寫設置為允許

local_umask=022? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //用于定義創建新文件或新目錄時的權限

anon_upload_enable=NO? ? ? ? ? ? ? ? ?//是否允許匿名用戶上傳

anon_mkdir_write_enable=NO? ? ? ? ?//是否允許匿名用戶創建目錄、可寫:不允許

idle_session_timeout=600? ? ? ? ? ? ? ?//設置登陸ftp后空閑時ftp的會話超時時間為600s

data_connection_timeout=120? ? ? ? ?//數據傳輸的超時時間為120s

max_clients=10? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//最大客戶端數

8、創建虛擬用戶家目錄

? ? # mkdir /home/virftpuser/testuser1? ? ? ??

9、在虛擬用戶家目錄下創建一個文件

? ? 這個文件用于我們后面的測試

? ? #? touch /home/virftpuser/testuser1/lijie.txt

10、修改所有者所屬組

? ? # chown -R virftpuser:virftpuser /home/virftpuser

11、修改ftp認證的文件

? ??/etc/pam.d/vsftpd是用于認證的文件,我們在登陸ftp時候有一個認證的過程,在認證的時候,就需要告訴ftp我們是通過什么樣的形式去認證,認證的時候去哪里找密碼庫,輸入的用戶名密碼是否正確需要找到這個庫來比對。

? ? 在/etc/pam.d/vsftpd這個文件中加入以下內容,這個修改用于告訴ftp我們自定義的文件的目錄位置:

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

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

上面加入的內容中 /lib64/security/pam_userdb.so? ? 這個文件是要求必須要存在的

12、編輯vsftp的主配置文件

? ? vsftp的主配置文件/etc/vsftpd/vsftpd.conf是vsftp最大最重要的配置文件,我們需要在這個配置文件中做一些修改:

? ? 修改前:

? ? 修改后:

? ? 修改了這三處之后還需要在這個配置文件的末尾加上以下內容:

chroot_local_user=YES

guest_enable=YES? ? ? ?//允許映射

guest_username=virftpuser ? ? ? //告訴vsftpd虛擬用戶映射過來的用戶名

virtual_use_local_privs=YES? ? ? ?//告訴vsftpd服務我們現在使用的是虛擬用戶

user_config_dir=/etc/vsftpd/vsftpd_user_conf? ? //用于定義虛擬用戶配置文件所在路徑

allow_writeable_chroot=YES

13、啟動vsftpd服務

????# systemctl start vsftpd? ? ? ? //啟動vsftpd服務

? ? # ps aux |grep vsftp? ? ? ? ? ? //查看vsftpd服務是否成功啟動

? ? # netstat -lntp? ? ? ? ? ? ? ? ? ? ?//查看vsftpd服務監聽的端口,監聽的是21端口


小知識:22端口是sshd,23端口是telnet監聽,telnet現在幾乎沒人用了

13、測試驗證

? ? 首先我們可以在windows上安裝一個ftp客戶端軟件,建議使用filezilla client,filezilla是一個ftp開源的免費的軟件,可以搭建服務,同時他也有一個客戶端軟件,為了測試方便,我們可以在linux上安裝一個ftp客戶端軟件lftp

? ? # yum install -y lftp? ? //安裝filezilla在linux上的客戶端軟件lftp

? ? # lftp testuser1@127.0.0.1? ? ?//使用testuser1用戶登錄

? ? 系統提示口令,即輸入密碼的意思,輸入密碼回車后,即可登陸到127.0.0.1,使用ls命令就可以看到之前我們創建的文件lijie.txt

? ? 我們輸入?后可以看到在ftp下我們可以使用的命令有哪些

? ? 我們常用的命令有:put、get

/> get lijie.txt ? ? ? ? ? //獲取文件lijie.txt放到當前目錄下

/> quit ? ? ? ? ? ? ? ? ? ? //退出lftp

# ls ? ? ? ? ? ? ? ? ? ? ? ? ?//在當前目錄下查看是否存在lijie.txt文件,可以看到,lijie.txt文件確實已經獲取到了

三 ?使用xshell來實現ftp類似功能

1、新建會話

? ? 在xshell中新建會話,協議類型選擇SFTP,端口號依然選擇22號端口,使用的是ssh協議

2、連接遠程服務器

? ? 連接剛才新建的會話指定的服務器

? ? 輸入用戶名和密碼后登陸成功,登陸成功界面如下,這時候默認是在root用戶下

? ? 我們來使用ls命令查看

? ? sftp:/root> ls

? ? sftp:/root> cd /tmp ? ? ? ? ? ? ? //我們可以切換到其他目錄下

? ? sftp:/tmp> get user.sql ? ? ? //從服務器獲取文件

? ? 上面命令已成功獲取文件到我們的windows中,具體的文件保存位置我們可以像下面這樣設置,點擊文件下面的屬性按鈕

? ? 彈出下面的對話框,我們按照圖中步驟選擇本地存儲路徑

? ? 下面我們再來使用get命令傳輸文件就會保存到上圖我們設置的路徑里面去了


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,002評論 6 542
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,400評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,136評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,714評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,452評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,818評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,812評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,997評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,552評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,292評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,510評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,035評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,721評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,121評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,429評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,235評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,480評論 2 379

推薦閱讀更多精彩內容