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