VSFTPD移植及使用
?
1、下載源碼
從官網(wǎng)ftp://vsftpd.beasts.org/下載源文件vsftpd-2.3.4版本。
2、編譯(以ARM版本為例)
解壓縮文件,進(jìn)到/vsftpd-2.3.4/目錄下,修改Makefile文件中的交叉編譯器為CC=arm-linux-gcc,然后make命令編譯,發(fā)現(xiàn)有如以下錯(cuò)誤提示:
圖8.1 vsftpd編譯錯(cuò)誤圖
打開/vsftpd-2.3.4/vsf_findlibs.sh文件,注掉與lib/libcap.so有關(guān)的幾行,然后make即可。注釋內(nèi)容如下圖所示:
圖8.2 vsftpd編譯注釋內(nèi)容圖
3、編譯成功后,把該目錄下生成的可執(zhí)行程序vsftpd放到根文件系統(tǒng)的/usr/sbin目錄下。
4、配置文件
在vsftpd-2.3.4目錄下有一個(gè)vsftpd.conf的默認(rèn)配置文件,修改此默認(rèn)配置文件,把此配置文件放到根文件系統(tǒng)的/etc目錄下。此配置文件功能很強(qiáng)大,根據(jù)個(gè)人需求進(jìn)行相關(guān)配置。例如以下配置:
anonymous_enable=YES????? //設(shè)置是否支持匿名用戶訪問
ftp_username=nobody?? #客戶端登錄的時(shí)候如果報(bào)<EM>500 OOPS: vsftpd: cannot locate user specified in 'ftp_username':ftp,加入此行配置
local_enable=YES //設(shè)置是否支持本地用戶帳號(hào)訪問
write_enable=YES //是否開放本地用戶的寫權(quán)限
local_root=/mnt/wanwei //設(shè)置本地用戶登陸后的目錄,默認(rèn)為本地用戶的主目錄
anon_root=/mnt/wanwei //設(shè)置匿名用戶登陸后的目錄
anon_upload_enable=YES??? //設(shè)置是否允許匿名用戶上傳
anon_mkdir_write_enable=YES?? //設(shè)置是否允許匿名用戶創(chuàng)建目錄
dirmessage_enable=YES????? //設(shè)置使用者進(jìn)入某個(gè)目錄時(shí)是否顯示由message_file指定的文件內(nèi)容
xferlog_enable=YES???? //是否啟動(dòng)FTP日志記錄
connect_from_port_20=YES //若為YES,則強(qiáng)迫FTP-DATA的數(shù)據(jù)傳送使用port 20,默認(rèn)YES
xferlog_file=/var/log/vsftpd.log??? //設(shè)置日志記錄文件的名稱
chroot_list_file=/etc/vsftpd.chroot_list //當(dāng)chroot_local_user=NO 且 chroot_list_enable=YES時(shí),只有filename文件指定的用戶可以執(zhí)行chroot
listen=YES??? //設(shè)置為YES時(shí)vsftpd以獨(dú)立運(yùn)行方式啟動(dòng),設(shè)置為NO時(shí)以xinetd方式啟動(dòng)(xinetd是管理守護(hù)進(jìn)程的,將服務(wù)集中管理,可以減少大量服務(wù)的資源消耗)
5、調(diào)試
重新下載根文件系統(tǒng)到開發(fā)板,在開發(fā)板上運(yùn)行vsftpd程序,把開發(fā)板與主機(jī)連到同一局域網(wǎng)中,例如開發(fā)板IP為192.168.1.24,則在主機(jī)命令窗口輸入ftp 192.168.1.24命令,輸入用戶名和密碼后即可登到開發(fā)板的/mnt/wanwei目錄下,根據(jù)配置文件的配置用戶可用get、put命令上傳和下載該目錄下的文件,也可以在此目錄下新建目錄,但無法訪問根文件系統(tǒng)的其它目錄。
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的VSFTPD移植及使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python面试题网站有哪些_扣丁学堂解
- 下一篇: c语言链表总结