2410下vsftp移植.doc_第1页
2410下vsftp移植.doc_第2页
2410下vsftp移植.doc_第3页
2410下vsftp移植.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2011.1参考网上文章完成vsftp移植,过程如下,几个注意点后边专门提示:(1)下载vsftpd 官方网站:/ 当前的最新版本是:vsftpd-2.0.6,压缩包只有155k。(2)交叉编译 需要修改的地方有两处。第一处是Makefile的CC:# Makefile for systems with GNU toolsCC = /usr/local/arm/3.4.1/bin/arm-linux-gcc 就是修改为你自己的交叉编译器的地址。我因为前面编译一些工具都是使用了3.4.1,所以这里也就继续使用了。 第二处是脚本vsf_findlibs.sh。这里主要是牵扯到库libcap的问题。网上的修改都是更改到交叉编译器的lib文件夹下,发现即使在lib文件夹下面没有,也不影响。那么,我判断,这个库是没有必要的,直接把这两行注释就可以了。# Look for libcap (capabilities)# locate_library /lib/libcap.so.1 & echo /lib/libcap.so.1;# locate_library /usr/lib/libcap.so & echo -lcap; 改完后,执行make,动态编译就成功了。如下:rootlqm vsftpd-2.0.6# file vsftpdvsftpd: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.4.3, dynamically linked (uses shared libs), strippedrootlqm vsftpd-2.0.6# ls -l vsftpd-rwxr-xr-x 1 root root 81728 Mar 22 16:46 vsftpd(3)查看依赖及其相应的配置文件 首先,因为是动态链接,查看相应的动态库。rootlqm vsftpd-2.0.6# /usr/local/arm/3.4.1/bin/arm-linux-readelf -d vsftpdDynamic segment at offset 0x134a4 contains 25 entries:Tag Type Name/Value0x00000001 (NEEDED) Shared library: libcrypt.so.10x00000001 (NEEDED) Shared library: libdl.so.20x00000001 (NEEDED) Shared library: libnsl.so.10x00000001 (NEEDED) Shared library: libresolv.so.20x00000001 (NEEDED) Shared library: libutil.so.10x00000001 (NEEDED) Shared library: libc.so.6 把这些库从/usr/local/arm/3.4.1/arm-linux/lib下拷贝到rootfs的lib下。 第一步工作完成了。 第二步工作,把vsftpd拷贝到rootfs的/usr/sbin或者是/usr/local/sbin下面。我的是拷贝到了/usr/sbin下面。 第三步工作就是配置文件vsftpd.conf。我是直接从CentOS4.5的/etc/vsftpd/vsftpd.conf拷贝到了rootfs的/etc/vsftpd.conf。这里测试时有一个问题,如果在rootfs下跟host一样,建立一个vsftpd的话,那么直接启动vsftpd都会产生一个oops错误,就是说只能由inetd或者xinetd来启动。而事实上,我已经设置为listen=YES,应该可以standalone启动。根据情况,屏蔽了几条记录:#pam_service_name=vsftpd#userlist_enable=YES#enable for standalone modelisten=YEStcp_wrappers=NO 就是只更改了最后四行。关于具体的配置后面再做探讨。先走通再说。 第四步工作就是牵扯到用户问题了。首先有一个本地用户,这样可以通过本地用户进行访问;其次要匿名用户,这就需要ftp用户;还需要有一个nobody用户。直接创建比较麻烦,所以直接拷贝host的/etc/passwd,/etc/group,/etc/shadow。rootlistentec #cat /etc/group root:0:rootftp:x:50:nobody:x:99:users:x:100:500:x:500:boa501:x:501:armlinux 这样用户问题就解决了。 第五步工作就是相应的目录需要创建。支持匿名用户需要创建/var/ftp,根据一般惯例,我在ftp下建立了pub目录。还需要建立/usr/share/empty目录,否则在访问时会出现:500 OOPS: vsftpd: not found: directory given in secure_chroot_dir:/usr/share/empty 这个是与你的配置选项相关的。/usr/sbin/vsftpd - VSFTPD的主程序(必需)/etc/rc.d/init.d/vsftpd - 启动脚本/etc/vsftpd.conf - 主配置文件(必需)/etc/pam.d/vsftpd - PAM认证文件/etc/vsftpd.ftpusers - 禁止使用VSFTPD的用户列表文件/etc/vsftpd.user_list - 禁止或允许使用VSFTPD的用户列表文件/etc/userconf - 指定用户个人配置文件所在的目录/var/ftp - 匿名用户主目录/var/ftp/pub- 匿名用户的下载目录/var/log/vsftpd.log - 日志文件除vsftpd、vsftpd.conf两个文件外,其他文件的需要具体看主配置文件的配置 我就建立了这两个目录。其余参考绿色部分,前面已经建立好了。然后制作映象,烧写到目标板上,通过standalone模式启动。rootlistentec /usr#vsftpd &rootlistentec /usr#pgrep vsftpd775 在host上测试:rootlqm # ftp 00Connected to 00.220 (vsFTPd 2.0.6)530 Please login with USER and PASS.530 Please login with USER and PASS.KERBEROS_V4 rejected as an authentication typeName (00:armlinux): anonymous331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp ls227 Entering Passive Mode (192,168,1,100,201,91)150 Here comes the directory listing.drwxr-xr-x 2 0 0 0 Mar 22 08:24 pub226 Directory send OK.ftp移植过程中不同处理:1.静态编译开始为了方便直接编译成静态,修改Makefile的如下位置加入-static# Makefile for systems with GNU toolsvsftpd: $(OBJS) $(CC) -o vsftpd $(OBJS) $(LINK) $(LIBS) $(LDFLAGS) -static 编译完成后file vsftpdchanglocalhost vsftpd-2.0.6$ file vsftpdvsftpd: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.4.3, statically linked, strippedchanglocalhost vsftpd-2.0.6$这样就不用拷贝相关依赖库过去了。只需拷贝生成的vsftpd及配置文件即可。2.vsftpd.conf文件,如果修改vsftpd-2.0.6下出现问题,直接拷贝宿主机的(我用的rh9.0安装了vsftpd而且调试号)3.移植过程中主要遇到的麻烦是开发板上21端口没有打开,看了开发板上的xine

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论