ftp是TCP/IP網(wǎng)絡上兩臺設備傳送文件的協(xié)議,用戶在嵌入式Linux系統(tǒng)的開發(fā)中,有時候需要搭建一個ftp服務器,以便實現(xiàn)對設備的訪問和文件傳輸?shù)裙δ堋S?chuàng)工控主板已經(jīng)自帶了一款busybox中的ftpd服務器,但是不能支持用戶名和密碼的管理,無法完全滿足一些工業(yè)應用的需求,針對這一點英創(chuàng)公司移植了一款小巧的ftp服務器stupid-ftpd:
啟動方式 | 功能區(qū)別 | |
ftpd | 開機自動啟動 | 不支持用戶名和密碼管理 |
stupid-ftpd | 需要手動啟動 | 支持用戶名和密碼管理,并且能控制操作權限 |
可以看出,相對busybox中的ftpd服務器,stupid-ftpd的功能更加全面,接下來就介紹在英創(chuàng)Linux工控主板上移植stupid-ftpd的過程。
stupid-ftpd的下載地址:http://sourceforge.net/projects/stupid-ftpd/files/。
將下載好的stupid-ftpd-1.5beta.tar.gz放到工作目錄下,首先解壓:
#tar vx*** stupid-ftpd-1.5beta.tar.gz,并進入解壓目錄,修改Makefile,只需要修改兩項,將編譯工具修改為英創(chuàng)公司提供的交叉工具鏈,并在編譯選項中加上靜態(tài)編譯:
CC=arm-none-linux-gnueabi-gcc
CFLAGS=-O2 -Wall -Wstrict-prototypes -static
修改好后,直接執(zhí)行make,編譯完成,生成stupid-ftpd.Linux6可執(zhí)行程序和所需要的配置文件stupid-ftpd.conf。將這兩個文件拷貝至板卡的文件系統(tǒng)中就完成了移植工作,接下來就是如何使用。
ftp服務器運行需要配置文件stupid-ftpd.conf,配置文件可以設置ftp服務器的用戶名和密碼,英創(chuàng)公司已經(jīng)將一個配置文件的范例放在/etc目錄下,可由用戶自行修改,建議先將英創(chuàng)公司提供的范例stupid-ftpd.conf復制到/mnt/nandflash目錄下再進行修改,這樣就算出錯也能夠改回原來的配置。
可以使用vi打開配置文件:#vi /mnt/nandflash/stupid-ftpd.conf進行編輯:
首先需要修改FTP服務器的根目錄:
如圖所示,在配置文件的第34行可以修改ftp服務器的根目錄,由于英創(chuàng)工控主板提供給用戶操作的目錄都在/mnt目錄下,為了避免修改到其他目錄的文件,這里建議用戶將根目錄設置為/mnt目錄。
接下來來配置用戶名和密碼等功能:
可以看到配置用戶名和密碼只需要修改第106行的這段話,它的格式為:
user=
中間以空格區(qū)分。
=用戶名,
=密碼,=ftp服務器的目錄,=最大登錄用戶,=標志位,允許以下操作:
D - download 允許下載文件
U - upload + making directories 允許上傳文件和創(chuàng)建新目錄
O - overwrite existing files 允許覆蓋已存在文件
M - allows multiple logins 允許多用戶登錄
E - allows erase operations 允許擦除操作
A - allows EVERYTHING(!) 允許所有功能
在英創(chuàng)公司提供的范例配置中,user=emtronix 123 /nandflash 5 A對照以上說明,就是用戶名為emtronix,密碼為123,ftp服務器目錄為/mnt/nandflash(在前面的介紹中已經(jīng)將/mnt目錄設置為ftp服務器的根目錄),最大用戶數(shù)為5,并且允許所有的功能。用戶只需要根據(jù)自己的需求自行修改這一行就能夠達到用戶名和密碼的管理操作。
配置好以后,就能夠啟動ftp服務器了,首先需要關掉之前提到的主板自帶的ftp服務器,使用命令
#pkill inetd
即可,然后就能夠開啟stupid-ftpd了,ftp服務器所使用的端口默認為21,所以還需要21端口沒有被占用。
使用命令
# stupid-ftpd.Linux6 -f /mnt/nandflash/stupid-ftpd.conf,-f后面跟的參數(shù)為修改好的配置文件。這樣就啟動了ftp服務器,可以使用開發(fā)主機來測試:
可以看到,通過設置的用戶名和密碼,已經(jīng)成功連接到/mnt/nandflash目錄下了,至此就能夠正常使用具有用戶名和密碼管理的ftp服務器了。
如果需要關閉ftp服務器,調(diào)用命令
#pkill stupid-ftpd
即可。
-
Linux
+關注
關注
87文章
11312瀏覽量
209704 -
嵌入式主板
+關注
關注
7文章
6085瀏覽量
35400
發(fā)布評論請先 登錄
相關推薦
評論