ftp服务端移植到aarch64-linux

发布时间 2023-11-23 15:04:12作者: Panda990

github搜索下载ftp源码包:https://github.com/dagwieers/vsftpd
源码包中有INSTALL安装说明,本下涉及的操作依赖安装说明书写

1.解压源码包

不会的话建议百度。

2.修改Makefile文件,并编译

保证主机中已经有交叉编译工具,并且已经添加到环境变量中,修改Makefile中的CC变量,我是这样的:

aarch64是我交叉编译工具的名字,改完直接在目录下make即可,如果报错就百度看看吧,反正我是没报错。

3.将编译好的文件手动安装到目标设备中

查看Makefile的install选项,如下:

if是条件判断开始,fi是结束,先来看第一个:

if [ -x /usr/local/sbin ]; then \
        $(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \
    else \
        $(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi

大致是判断目标设备上有没有 /usr/local/sbin文件夹,有的话就复制vsftpd进去,并且给了运行权限,没有的话就复制到/usr/sbin/。

第二跟第三个判断是复制man手册的,对于运行来说没多大必要,不管他。

第四个判断语句是把xinetd.d/vsftpd 复制到目标设备的/etc/xinetd.d/目录下,没有的话自己创建路径,并且给运行权限。

 4.根据INSTALL说明,复制跟设置vsftpd服务的必要文件跟参数

4.1 先创建个nobody用户;

[root@localhost root]# adduser nobody

4.2 创建个空文件夹  /usr/share/empty;

4.3 创建个ftp用户,提供家路径,修改权限,这个是只读的文件夹,一般用不到他,但是手册写了,就勉为其难按照他说的来

[root@localhost root]# mkdir /var/ftp/
[root@localhost root]# adduser -d -h /var/ftp ftp
[root@localhost root]# chown root.root /var/ftp
[root@localhost root]# chmod og-w /var/ftp

 

4.4 拷贝源码包里的 vsftpd.conf 到目标设备的 /etc 目录下;

4.5修改vsftpd.conf部分内容,如下:

 

5.运行vsftpd程序并测试

在目标设备中,输入:

sudo vsftpd&

找一个ftp客户端,测试:

用户名按照目标设备能登陆的用户区写,不要抄我喔!