ftpd should be used as an inetd service.
ftpd's line for inetd.conf: 21 stream tcp nowait root ftpd ftpd /files/to/serve
It also can be ran from tcpsvd: tcpsvd -vE 0.0.0.0 21 ftpd /files/to/serve
-w Allow upload
-v Log errors to stderr. -vv: verbose log
-S Log errors to syslog. -SS: verbose log
-t,-T Idle and absolute timeouts
DIR Change root to this directory 上面加颜 {MOD}的两行都是可以运行起ftpd服务器的,但是建议使用第二种 ,第一种,需要一个配置文件,利用inetd进行运行在busybox1.6.1上我使用flashfxp进行访问的ftpd板子的时候,不能显示文件列表,最后发现是busybox的bug,此bug如下:
echo "
_ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ ___
/ /__/ |_/
/ __ / - _ ___
/ / / / / /
_ _ _ _/ / / \_/ \_ ______
___________\___\__________________
"
for initscript in /etc/init.d/S[0-9][0-9]*
do
if [ -x $initscript ] ;
then
echo "[RCS]: $initscript"
$initscript
fi
done
/bin/hostname -F /etc/sysconfig/HOSTNAME
cd /opt/joseph
./start.sh &
cd -
tcpsvd -vE 0.0.0.0 21 ftpd -wvS /opt/ & flashfxp的效果如下图: 2、我们借鉴一下:首先,在开发板建立一个目录用于传输文件的存放: mkdir /ftpdir 修改inetd.conf并启动inetd服务:
# vi /etc/inetd.conf
21 stream tcp nowait root ftpd ftpd -w /ftpdir
# inetd // inetd会执行/etc/inetd.conf脚本中 此时ftpd服务可以运行了。我们来验证一下:在ubuntu中使用ftp命令连接开发板:root@ubuntu:/home/yj423# ftp 192.168.0.200
Connected to 192.168.0.200.
220 Operation successful
Name (192.168.0.200:yj423): root
230 Operation successful
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
这时候,通过ps命令可以在开发板中看到如下进程:917 root 3144 S ftpd -w /ftpdir可以看到ftpd自动运行起来了。我们通过PC上传文件试一试:ftp> put /home/yj423/nfswork/home/bgm/bcs bcs
local: /home/yj423/nfswork/home/bgm/bcs remote: bcs
200 Operation successful
150 Ok to send data 到开发板中检查一下,我们看到了bcs的身影。
[root@BGM /ftpdir]#ls
addcmd bcs fdsafdsfsa mount.sh test