热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

arm-linux下vsftpd的安装和配置

1.下载源码包:vsftpd-2.3.4.tar.gz2.修改Makefile文件CC/usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-gcc3.执行make,如果报错执行44.修改vsffindlibs.sh屏蔽掉505154行:#Lookforlibcap(c
1.下载源码包:vsftpd-2.3.4.tar.gz
2.修改Makefile文件
CC     =    /usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-gcc
3.执行make,如果报错执行4
4.修改vsffindlibs.sh
屏蔽掉 50 51 54 行:# Look for libcap (capabilities)
if locate_library /lib/libcap.so.1; then
  echo "/lib/libcap.so.1";
#elif locate_library /lib/libcap.so.2; then
#  echo "/lib/libcap.so.2";
else
  locate_library /usr/lib/libcap.so && echo "-lcap";
#  locate_library /lib/libcap.so && echo "-lcap";
  locate_library /lib64/libcap.so && echo "-lcap";
fi
注:网上有文章说可以把库的路径设置到交叉编译器的库路径下,我没有试过,在此处采取屏蔽的方式。
5.make 成功
6.因为是动态编译,所以需要把动态链接库从编译器的lib下拷贝到跟文件系统的lib目录下

[root@uestc vsftpd-2.3.4]# file vsftpd
vsftpd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, stripped

[root@uestc vsftpd-2.3.4]# arm-none-linux-gnueabi-readelf -d vsftpd

Dynamic section at offset 0x1700c contains 30 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libcrypt.so.1]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]
 0x00000001 (NEEDED)                     Shared library: [libnsl.so.1]
 0x00000001 (NEEDED)                     Shared library: [libresolv.so.2]
 0x00000001 (NEEDED)                     Shared library: [libutil.so.1]
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x0000000c (INIT)                       0x9714
 0x0000000d (FINI)                       0x1ae30
 0x00000019 (INIT_ARRAY)                 0x27000
 0x0000001b (INIT_ARRAYSZ)               4 (bytes)
 0x0000001a (FINI_ARRAY)                 0x27004
 0x0000001c (FINI_ARRAYSZ)               4 (bytes)
 0x00000004 (HASH)                       0x8168
 0x00000005 (STRTAB)                     0x8d1c
 0x00000006 (SYMTAB)                     0x84fc
 0x0000000a (STRSZ)                      1196 (bytes)
 0x0000000b (SYMENT)                     16 (bytes)
 0x00000015 (DEBUG)                      0x0
 0x00000003 (PLTGOT)                     0x27124
 0x00000002 (PLTRELSZ)                   984 (bytes)
 0x00000014 (PLTREL)                     REL
 0x00000017 (JMPREL)                     0x933c
 0x00000011 (REL)                        0x932c
 0x00000012 (RELSZ)                      16 (bytes)
 0x00000013 (RELENT)                     8 (bytes)
 0x6ffffffe (VERNEED)                    0x92cc
 0x6fffffff (VERNEEDNUM)                 3
 0x6ffffff0 (VERSYM)                     0x91c8
 0x00000000 (NULL)                       0x0
把所有的七个共享库拷贝过去

7.把生成的vsftpd 拷贝到跟文件系统的sbin目录下,把vsftpd.conf文件拷贝到 跟文件系统的etc目录下。
至此,arm-linux环境下的ftp服务器移植完成,下面开始对服务器进行配置。以下为一个简单的配置,不考虑安全性。

anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
async_abor_enable=YES
nopriv_user=ftp
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
ls_recurse_enable=YES
listen_port=21
anon_other_write_enable=YES

8.在板子上创建必要的帐号,目录:
#addusr nobody   //vsftpd 默认配置需要
#mkdir /usr/share/empty//vsftpd 默认配置需要
#adduser -D /var/ftp ftp
#chown root:root/var/ftp
#chmod og-w /var/ftp
9.创建一个本地账户ming,创建好之后可以用ming登录
#addusr ming
#passwd 123456
10.添加一个只能从ftp登录,而不能从本地的登录的用户mingming
#addusr -G ftp -S /sbin/nologin mingming //-G -S 如果用-g -s 客户将不能登录:530 Login incorrect
#passwd 123456

11.服务器端执行 vsftpd /etc/vsftpd.conf ,客户端执行ftp YOUR_ADDR ,输入帐号名和密码即登入。
12.用cat /etc/passwd cat /etc/group 命令查看

推荐阅读
author-avatar
阿思翠
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有