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