ftp是tcp/ip网络上两台设备传送文件的协议,用户在嵌入式linux系统的开发中,有时候需要搭建一个ftp服务器,以便实现对设备的访问和文件传输等功能。英创工控主板已经自带了一款busybox中的ftpd服务器,但是不能支持用户名和密码的管理,无法完全满足一些工业应用的需求,针对这一点英创公司移植了一款小巧的ftp服务器stupid-ftpd:
启动方式
功能区别
ftpd
开机自动启动
不支持用户名和密码管理
stupid-ftpd
需要手动启动
支持用户名和密码管理,并且能控制操作权限
可以看出,相对busybox中的ftpd服务器,stupid-ftpd的功能更加全面,接下来就介绍在英创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,只需要修改两项,将编译工具修改为英创公司提供的交叉工具链,并在编译选项中加上静态编译:
cc=arm-none-linux-gnueabi-gcc
cflags=-o2 -wall -wstrict-prototypes -static
修改好后,直接执行make,编译完成,生成stupid-ftpd.linux6可执行程序和所需要的配置文件stupid-ftpd.conf。将这两个文件拷贝至板卡的文件系统中就完成了移植工作,接下来就是如何使用。
ftp服务器运行需要配置文件stupid-ftpd.conf,配置文件可以设置ftp服务器的用户名和密码,英创公司已经将一个配置文件的范例放在/etc目录下,可由用户自行修改,建议先将英创公司提供的范例stupid-ftpd.conf复制到/mnt/nandflash目录下再进行修改,这样就算出错也能够改回原来的配置。
首先需要修改ftp服务器的根目录:
如图所示,在配置文件的第34行可以修改ftp服务器的根目录,由于英创工控主板提供给用户操作的目录都在/mnt目录下,为了避免修改到其他目录的文件,这里建议用户将根目录设置为/mnt目录。
接下来来配置用户名和密码等功能:
可以看到配置用户名和密码只需要修改第106行的这段话,它的格式为:
user=
中间以空格区分。
=用户名,
=密码,=ftp服务器的目录,=最大登录用户,=标志位,允许以下操作:
d - download 允许下载文件
u - upload + making directories 允许上传文件和创建新目录
o - overwrite existing files 允许覆盖已存在文件
m - allows multiple logins 允许多用户登录
e - allows erase operations 允许擦除操作
a - allows everything(!) 允许所有功能
在英创公司提供的范例配置中,user=emtronix 123 /nandflash 5 a对照以上说明,就是用户名为emtronix,密码为123,ftp服务器目录为/mnt/nandflash(在前面的介绍中已经将/mnt目录设置为ftp服务器的根目录),最大用户数为5,并且允许所有的功能。用户只需要根据自己的需求自行修改这一行就能够达到用户名和密码的管理操作。
配置好以后,就能够启动ftp服务器了,首先需要关掉之前提到的主板自带的ftp服务器,使用命令
#pkill inetd
即可,然后就能够开启stupid-ftpd了,ftp服务器所使用的端口默认为21,所以还需要21端口没有被占用。
使用命令
# stupid-ftpd.linux6 -f /mnt/nandflash/stupid-ftpd.conf,-f后面跟的参数为修改好的配置文件。这样就启动了ftp服务器,可以使用开发主机来测试:
可以看到,通过设置的用户名和密码,已经成功连接到/mnt/nandflash目录下了,至此就能够正常使用具有用户名和密码管理的ftp服务器了。
如果需要关闭ftp服务器,调用命令
#pkill stupid-ftpd
即可。
北约版“星链”呼之欲出
2020 年全球专利企业 50 强: 华为第 9、京东方 13
性能强大、应用广泛的5G终端,其内部回路的数量大幅增加
无源光电技术对抗导弹制导的研究
2020上半年电动汽车销售达95万辆,特斯拉占两成
英创信息技术高性能FTP服务器Linux工控主板上的移植
LDO常见问题解答
电源时序控制
RY-AQI-HJ无人机环境监测仪系统应用
区块链技术的四大优势将打破物联网的四大妨碍
L波段的低噪声放大器设计实例介绍
最新苹果专用蓝牙耳机:音质超给力的五大耳机
人工智能在医疗领域渐行渐近,未来大家将会怎么看病?
“新能源电动汽车智慧消防安全交流研讨会”有表近40余人参加
AI芯片技术的选型说明
我国运营商内容生态的布局状况分析
英特尔CEO:诺基亚选择微软是个错误
机器视觉基础知识点总结
沪电股份拟控股PCB公司胜伟策电子
DSP芯片与其它芯片的最大区别在于什么?