標籤:it人 嵌入式 linux ftp 交叉編譯
Vsftpd是一款在Linux發行版中最受歡迎的Ftp伺服器程式,特點是小巧輕快,安全易用,Vsftpd也是LXT5架構中Ftp伺服器首選軟體包。
1. 交叉編譯libcap(如果需要!?)
a. 下載:https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.24.tar.gz
tar -zxvf libcap-2.24.tar.gz
cd libcap-2.24
b. 產生libcap/_makenames(x86)
make clean
make
mv ./libcap/_makenames ./libcap/_makenames_x86
c. 修改Make.Rules
...
else
prefix= (指向ARM編譯器usr路徑)
exec_prefix=$(prefix)
lib_prefix=$(exec_prefix)
inc_prefix=$(prefix)
man_prefix=$(prefix)/share
endif
...
...
CC := arm-arago-linux-gnueabi-gcc
CFLAGS := -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
...
d. 修改libcap/Makefile
...
ifeq ($(LIBATTR),yes)
FILES += cap_file
#LDFLAGS += -lattr
#DEPS = -lattr
endif
...
...
cap_names.h: _makenames
./_makenames_x86 > cap_names.h
...
e. 修改libcap/cap_file.c
...
#define XATTR_SECURITY_PREFIX "security."
#define XATTR_NAME_CAPS XATTR_SECURITY_PREFIX "capability"
...
f. 交叉編譯
make clean
make
make install
2. 交叉編譯Vsftpd
a. 解壓
tar -zxvf vsftpd-3.0.2.tar.gz
cd vsftpd-3.0.2
b. 修改Makefile
...
CC = arm-arago-linux-gnueabi-gcc
INSTALL = install
...
...
#LIBS = `./vsf_findlibs.sh`
LIBS = -lcap -lpam
LINK = -Wl,-s
...
...
install:
$(INSTALL) -d -m 755 /home/vsftpd/sbin/;
$(INSTALL) -m 755 vsftpd /home/vsftpd/sbin/vsftpd;
clean:
...
c. 交叉編譯
make clean
make
make install
d. 設定檔(vsftpd.conf)
anonymous_enable=NO
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
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service.
ls_recurse_enable=YES
listen=YES
3. 安裝使用(ARMv7硬體系統)
a. 設定檔安裝
[email protected]:/home#
cp /home/vsftpd/vsftpd.conf /etc
b. 啟動vsftpd
[email protected]:/home#
mkdir /usr/share/empty
[email protected]:/home#
/home/vsftpd/sbin/vsftpd &
c. 添加使用者
[email protected]:/home#
adduser ftptest
--> passwd: 123456
d. 測試
windows --> cmd --> ftp board_ip ([email protected])
或
瀏覽器: ftp://board_ip ([email protected])
(作者 馮青華 信庭嵌入式工作室(www.xteda.com)- CEO )
<轉載請注名來路>
LXT5架構-嵌入式Ftp伺服器Vsftpd交叉編譯與配置使用(ARMv7)