arm-linux下vsftpd的安装和配置
作者:阿思翠 | 来源:互联网 | 2014-05-28 09:06
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 命令查看
推荐阅读
-
本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ...
[详细]
蜡笔小新 2024-11-21 17:32:44
-
在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ...
[详细]
蜡笔小新 2024-11-21 11:15:53
-
-
从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ...
[详细]
蜡笔小新 2024-11-21 09:06:54
-
本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ...
[详细]
蜡笔小新 2024-11-20 18:28:16
-
Uniswap 与 MoonPay 合作,引入法币交易功能。本文探讨这一合作对用户进入加密货币领域的安全性及便利性的影响。 ...
[详细]
蜡笔小新 2024-11-21 19:31:06
-
本文探讨了Node.js应用程序在服务器上部署的几种有效方法,包括使用Screen、PM2以及通过宝塔面板进行简易管理。 ...
[详细]
蜡笔小新 2024-11-21 18:58:31
-
近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ...
[详细]
蜡笔小新 2024-11-21 18:08:07
-
本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ...
[详细]
蜡笔小新 2024-11-21 17:42:08
-
问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ...
[详细]
蜡笔小新 2024-11-21 15:14:45
-
华为与红帽携手合作,旨在加速开源电信软件的发展,以满足大型电信运营商对灵活网络解决方案的需求。 ...
[详细]
蜡笔小新 2024-11-21 13:13:49
-
本文介绍了多域名SAN SSL证书的概念及其工作方式,探讨其在现代网络安全中的重要性和应用。 ...
[详细]
蜡笔小新 2024-11-21 11:13:17
-
本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ...
[详细]
蜡笔小新 2024-11-20 19:57:35
-
本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ...
[详细]
蜡笔小新 2024-11-20 19:00:01
-
探讨符合特定需求的个人网盘选择,包括分享功能、WebDAV支持及长期稳定性等。 ...
[详细]
蜡笔小新 2024-11-20 18:07:25
-
本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ...
[详细]
蜡笔小新 2024-11-20 17:58:54
-