《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于vsftp的嵌入式設備受控訪問方法
基于vsftp的嵌入式設備受控訪問方法
來源:電子技術應用2012年第6期
張傳凱,馬少飛
北京萬集科技股份有限公司,北京100085
摘要: 介紹了嵌入式Linux系統上vsftp的搭建和配置方法。給出了一種不使用Linux USB gadget driver API進行復雜的驅動開發仍能方便快捷地訪問嵌入式設備SD卡等多種外設的統一方法,并介紹了利用用戶權限來實現嵌入式設備受控訪問的方法。
中圖分類號: TP399
文獻標識碼: A
文章編號: 0258-7998(2012)06-0018-02
A method of controlled access to embedded devices based on vsftp
Zhang Chuankai,Ma Shaofei
Beijing Wanji Technology Co., Ltd, Beijing 100085,China
Abstract: The paper indroduces the method of how to set up and configure vsftp on Linux system. Gives unified approach of access to the SD cards and other peripherals, avoiding the complex driven development using the Linux USB gadget driver API, and how to use the user permissions to achieve controlled access to embedded devices.
Key words : vsftp;embedded Linux;SD card;controlled access

    嵌入式設備與通用計算機相比,一般不具備像硬盤那樣大容量的存儲介質,大多使用閃存(NAND Flash)作為存儲介質。對于采用Linux操作系統的嵌入式設備,64 MB的NAND Flash可以滿足Bootloader、內核和文件系統的存放,如果使用過程中涉及大容量的數據讀寫,則多采用SD卡作為擴展存儲介質。這里的SD卡是指普通SD卡、MiniSD卡和MicroSD卡三種類型的存儲卡。對SD卡上的數據進行訪問一般有兩種解決方法:(1)將SD卡從嵌入式設備中取出,使用特定的讀卡器連接到PC上進行操作。這種方法需要用戶購買特定的讀卡器,使用不方便,用戶也不愿意接受;(2)在嵌入式設備上增加一個USB從設備接口,為嵌入式設備開發USB從設備驅動(USB gadget driver),將SD卡模擬成U盤設備進行訪問。這種方法涉及到硬件的改動和驅動的開發,開發難度大,耗費時間長。本文提供了一種方便快捷的方法,可以滿足用戶對SD卡上文件的訪問。

    vsftp是一個基于GPL發布的類Unix系統上使用的FTP服務器軟件,具有非常安全且快速穩定的特點,目前已經被許多大型站點所采用。vsftp可以方便地移植到嵌入式Linux操作系統中,如果將嵌入式設備作為FTP服務器,以PC作為客戶端,用戶即可通過FTP客戶端軟件實現PC與嵌入式設備之間的文件傳輸。如果再將SD卡掛載到文件系統的某個目錄下,用戶就可通過FTP服務來訪問SD卡。
1 移植vsftp到ARM-Linux系統
1.1 交叉編譯

    要移植vsftp,首先到vsftpd 官方網站下載程序源碼,本文使用的是vsftpd-2.3.4.tar.gz。解壓vsftpd-2.3.4.tar.gz,然后進入vsftpd-2.3.4目錄,修改Makefile文件,將“CC=gcc”修改為“CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc”,即使用交叉編譯器進行編譯。執行make指令,會出現“/lib/libcap.so.1: could not read symbols: File in wrong format”編譯錯誤,提示找不到libcap.so.1庫文件,修改vsftpd-2.3.4目錄下的vsf_findlibs.sh文件,注釋掉如下語句:
    if locate_library /lib/libcap.so.1; then
       echo "/lib/libcap.so.1";
    elif locate_library /lib/libcap.so.2; then
       echo "/lib/libcap.so.2";
    else
       locate_library /usr/lib/libcap.so && echo "-lcap";
       locate_library /lib/libcap.so && echo "-lcap";
       locate_library /lib64/libcap.so && echo "-lcap";
    fi
    再次執行make指令,編譯成功,生成vsftpd文件,執行file vsftpd指令,則可顯示如下語句:
    vsftpd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked(uses shared libs), for GNU/Linux 2.6.14, stripped
    將vsftpd拷貝到嵌入式設備文件系統的/usr/sbin目錄下。
1.2 查看依賴及其相應的配置文件
    執行arm-linux-readelf –d vsftpd指令查看vsftpd需要的動態鏈接庫,則顯示如下語句:
Dynamic section at offset 0x16a9c contains 29 entries:
      Tag        Type            Name/Value
0x00000001 (NEEDED)        Shared library: [libcrypt.so.1]
0x00000001 (NEEDED)        Shared library: [libdl.so.2]
0x00000001 (NEEDED)        Shared library: [libnsl.so.1]
0x00000001 (NEEDED)        Shared library: [libresolv.so.2]
0x00000001 (NEEDED)        Shared library: [libutil.so.1]
0x00000001 (NEEDED)        Shared library: [libc.so.6]
    將以上所列的動態庫從/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/lib目錄下拷貝到嵌入式設備文件系統的/lib目錄下;將vsftpd-2.3.4目錄下的默認配置文件vsftpd.conf拷貝到嵌入式設備文件系統的/etc目錄下。
1.3 啟動設置
    在嵌入式設備文件系統的/etc/rc.d/init.d目錄下添加名為vsftpd的腳本,內容如下:
    #!/bin/sh
    base=vsftpd
    # See how we were called.
    case "$1" in
        start)
            /usr/sbin/$base
            ;;
       stop)
        pid=`/bin/pidof $base`
        if [ -n "$pid" ]; then
            kill -9 $pid
        fi
            ;;
    esac
    exit 0
    在/etc/init.d/rcS文件中添加/usr/sbin/vsftpd &語句,以便在開機時啟動vsftpd服務器。
2 用戶和目錄設置
    為了使用戶登錄FTP服務器后能夠直接進入SD卡目錄中,需要對用戶及目錄進行設置。vsftpd提供了匿名用戶、本地用戶、虛擬用戶三種訪問方式。
    (1)匿名用戶形式:在默認安裝的情況下,系統只提供匿名用戶訪問。
    (2)本地用戶方式:以/etc/passwd中的用戶名為認證方式。
    (3)虛擬用戶方式:支持將用戶名和口令保存在數據庫文件或數據庫服務器中。
    由于創建用戶較為麻煩,可以采用從host直接拷貝的方式,將/etc目錄下的passwd、passwd-、group、group-、shadow和shadow-文件拷貝到嵌入式設備文件系統的
/etc目錄下。
    執行下面命令為訪問SD的用戶創建一個本地用戶,創建好之后就可以用admin登錄,并且其主目錄為/sdcard。這里使用/sdcard作為SD卡的掛載目錄。
    #adduser admin –h /sdcard -D
    #passwd 123456
    admin用戶存在的問題就是可以對主目錄的上層目錄進行訪問。處于安全的考慮,大多數情況下需要對用戶隱藏掉系統文件以防止用戶的誤操作造成的系統崩潰。這就需要對admin用戶的權限進行限制,使其只可訪問/sdcard主目錄文件,其他文件都對用戶不可見。對vsftpd.conf配置文件做如下修改:
    chroot_local_user=NO
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd.chroot_list
然后把admin用戶名添加到文件vsftpd.chroot_list中即可(一行一個用戶名)。vsftpd.chroot_list是一個用戶名列表,其中存放的是禁止訪問上層目錄的用戶名。
3 訪問SD卡
    使用網線連接嵌入式設備和PC,啟動嵌入式設備,vsftpd服務器會在開機過程中自啟動。將嵌入式設備和PC的IP地址設置在同一網段,在PC端打開FTP客戶端軟件,在服務器欄中輸入嵌入式設備的IP地址,使用用戶名和密碼進行連接登錄??焖龠B接界面如圖1所示。

    登錄成功后,用戶將會看到如圖2所示的界面,從界面右側的地址欄可以看到/sdcard目錄已被作為用戶的根目錄/,用戶無法看到上層目錄的內容,達到了使用戶受控訪問的目的。

 

 

    實驗測試表明,用戶可以方便地通過FTP客戶端軟件訪問到SD卡,而且通過使用該方法,可以創建不同的用戶,通過為其設定不同的主目錄,使用戶能夠對嵌入式設備的不同目錄進行訪問。如果用戶需要最高的權限,則可允許其他訪問到嵌入式設備的所有目錄和文件,只要不將該用戶名添加到vsftpd.chroot_list中即可。這種靈活性是將嵌入式設備模擬成USB從設備難以做到的。
參考文獻
[1] CORBET J,RUBINI A,HARTMAN G K.Linux Device drivers[M].O’reilly Media,Inc,2005.
[2] 彭潁,王方.基于LINUX的VSFTPD服務的實現[J].信息系統工程,2010(10).
[3] 李傳偉,胡金春.嵌入式Linux下USB Gadget驅動框架研究[J].航天控制,2006(3).
[4] 周余,王自強,都思丹.Linux Gadget系統及其在S3c2410上的海量存儲研究[J].計算機應用,2006(S2).

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          精品白丝av| 久久国产夜色精品鲁鲁99| 久久本道综合色狠狠五月| 亚洲最新在线| 欧美综合国产| 欧美一级视频一区二区| 国产一级揄自揄精品视频| 国产精品影片在线观看| 欧美日韩国产一区二区三区地区| 国产区精品视频| 欧美另类69精品久久久久9999| 午夜欧美理论片| 久久久久国色av免费看影院| 欧美天堂亚洲电影院在线观看| 久久激情五月激情| 欧美色精品在线视频| 欧美日本国产视频| 亚洲狼人精品一区二区三区| 黄网动漫久久久| 久久伊人一区二区| 国产精品视频第一区| 欧美日韩一区二| 亚洲精品视频免费在线观看| 亚洲欧美日韩精品久久亚洲区| 激情综合五月天| 亚洲国产一区二区三区在线播| 女人天堂亚洲aⅴ在线观看| 亚洲欧美一区二区在线观看| 欧美在线观看视频| 狠色狠色综合久久| 欧美四级在线观看| 亚洲精品欧美激情| 猛男gaygay欧美视频| 99re热精品| 亚洲激情一区二区| 一区二区在线免费观看| 国产三级欧美三级日产三级99| 99riav国产精品| 欧美涩涩视频| 久久综合色一综合色88| 欧美福利精品| 久久久久久久999精品视频| 国产亚洲人成a一在线v站| 这里只有精品电影| 亚洲国产成人91精品| 一区二区三区在线视频免费观看| 一区二区三区福利| 国产主播一区二区三区四区| 亚洲伊人伊色伊影伊综合网| 久久激情视频| 久久精品国产精品| 欧美巨乳在线观看| 亚洲在线免费视频| 免费日韩精品中文字幕视频在线| 在线精品国精品国产尤物884a| 欧美精品一区二区三区久久久竹菊| 亚洲毛片av在线| 欧美久色视频| 伊人精品成人久久综合软件| 在线亚洲欧美| 欧美高清视频免费观看| 欧美在线视频在线播放完整版免费观看| 亚洲欧美在线磁力| 在线中文字幕日韩| 欧美在线亚洲| 亚洲免费中文| 欧美电影打屁股sp| 国产亚洲欧美色| 国产亚洲精品bv在线观看| 久久国产加勒比精品无码| 亚洲国产福利在线| 国产精品国产馆在线真实露脸| 国产精品久久久久77777| 黄色精品一区二区| 欧美波霸影院| 99精品国产福利在线观看免费| 欧美一区二区三区日韩视频| 亚洲在线免费观看| 亚洲一区二区毛片| 国产日韩亚洲欧美综合| 国产午夜亚洲精品理论片色戒| 亚洲一区二区在线播放| 亚洲九九精品| 久久久精品网| 99视频精品在线| 夜夜夜精品看看| 亚洲裸体俱乐部裸体舞表演av| 国内精品久久久久久久97牛牛| 欧美不卡视频一区| 久久不射2019中文字幕| 欧美精品久久久久久久久久| 麻豆成人在线播放| 欧美另类在线观看| 蜜桃久久精品一区二区| 亚洲国产精品ⅴa在线观看| 米奇777超碰欧美日韩亚洲| 欧美护士18xxxxhd| 麻豆精品视频| 久久免费国产精品1| 欧美精品国产精品日韩精品| 亚洲一区二区精品在线| 欧美精品18videos性欧美| 欧美丝袜一区二区三区| 亚洲国产经典视频| 一本色道久久88综合日韩精品| 久久亚洲图片| 午夜在线a亚洲v天堂网2018| 国产午夜精品视频| 欧美wwwwww| 先锋影音网一区二区| 欧美一区二区在线免费观看| 欧美激情区在线播放| 国产真实久久| 伊人久久大香线蕉综合热线| 亚洲特黄一级片| 欧美精品一区在线播放| 欧美理论电影在线播放| 欧美诱惑福利视频| 国产精品久久一区主播| 久久精品国产精品| 亚洲午夜久久久久久尤物| 伊人精品在线| 欧美日本在线播放| 欧美高清视频一区| 国产精品综合视频| 亚洲一区二区三区在线播放| 亚洲福利视频免费观看| 猛男gaygay欧美视频| 欧美日韩美女在线观看| 亚洲欧美激情四射在线日| 欧美一区二区播放| 午夜精品在线| 久久激情五月婷婷| 红桃视频欧美| 欧美日韩一区二区三| 亚洲特级毛片| 国产精品99久久久久久有的能看| 欧美日韩一级片在线观看| 欧美国产一区二区在线观看| 欧美影院成人| 欧美成人免费小视频| 国产精品美女www爽爽爽| 国产原创一区二区| 欧美在线免费| 亚洲午夜羞羞片| 一本久久a久久免费精品不卡| 一区二区日韩免费看| 欧美极品在线观看| 亚洲一区二区在线免费观看| 国产午夜精品一区二区三区欧美| 国产在线不卡精品| 欧美精品一二三| 久久嫩草精品久久久久| 99精品视频免费观看| 欧美激情第二页| 影音先锋久久久| 国产欧美一区二区三区沐欲| 国产精品99久久久久久久女警| 欧美一区国产在线| 亚洲永久在线| 国产精品美女www爽爽爽视频| 欧美岛国激情| 亚洲欧美日韩天堂| 欧美高清视频免费观看| 精品盗摄一区二区三区| 亚洲女同在线| 欧美精品亚洲一区二区在线播放| 国产欧美日韩一区二区三区在线| 亚洲曰本av电影| 欧美韩国一区| 亚洲三级影院| 亚洲第一在线综合网站| 国产中文一区二区| 中国日韩欧美久久久久久久久| 欧美日韩99| 久久国产精彩视频| 久久在线观看视频| 久久久久久穴| 亚洲一区日韩| 国产精品久久久久久久浪潮网站| 欧美一区亚洲二区| 亚洲欧美综合国产精品一区| 在线精品一区| 激情综合在线| 欧美黄色一区二区| 欧美大香线蕉线伊人久久国产精品| 国产一区二区久久| 欧美在线播放高清精品| 91久久极品少妇xxxxⅹ软件| 亚洲欧洲精品一区二区三区| 含羞草久久爱69一区| 欧美欧美午夜aⅴ在线观看| 欧美午夜大胆人体| 亚洲一区二区日本| 欧美亚洲动漫精品| 伊人色综合久久天天五月婷| 亚洲视频一区二区免费在线观看| 欧美视频在线免费看| 国产精品亚洲综合一区在线观看| 亚洲七七久久综合桃花剧情介绍| 国内精品久久久久久| 久久久高清一区二区三区| 影音先锋亚洲精品| 免费91麻豆精品国产自产在线观看| 在线中文字幕不卡| 国产精品久久久久999| 久久久久.com| 久久久中精品2020中文| 最近中文字幕mv在线一区二区三区四区| 欧美成人一区二区三区片免费| 欧美日韩国产一区二区三区地区| 欧美国产第一页| 亚洲第一视频| 在线国产精品播放| 午夜激情一区| 亚洲日本成人网| 欧美成人午夜免费视在线看片| 国产日韩精品一区二区| 国产精品进线69影院| 亚洲乱码国产乱码精品精| 欧美国产激情二区三区| 亚洲精品国产精品乱码不99| 国产精品美女视频网站| 国产精品亚洲激情| 在线免费一区三区| 在线观看国产成人av片| 亚洲欧美国产日韩中文字幕| 欧美福利专区| 卡一卡二国产精品| 性色av香蕉一区二区| 久久国产88| 国产精品视频大全| 久久久久这里只有精品| 国产视频久久久久| 亚洲国产欧美日韩另类综合| 欧美日韩在线视频一区二区| 亚洲欧美福利一区二区| 999在线观看精品免费不卡网站| 一区二区三区高清在线| 男人的天堂亚洲在线| 亚洲精品一区二区三区福利| 亚洲一区二区三区视频播放| 亚洲在线观看免费视频| 国产精品国产三级欧美二区| 极品av少妇一区二区| 欧美日韩18| 免费一级欧美片在线播放| 国产精品欧美一区二区三区奶水| 欧美福利视频| 一本色道88久久加勒比精品| 欧美性大战久久久久久久蜜臀| 欧美丰满少妇xxxbbb| 亚洲第一精品夜夜躁人人躁| 91久久香蕉国产日韩欧美9色| 亚洲日本乱码在线观看| 久久噜噜噜精品国产亚洲综合| 欧美在线综合| 欧美成人中文字幕| 亚洲视频免费在线| 一区二区高清视频在线观看| 亚洲日韩第九十九页| 亚洲欧美精品在线观看| 亚洲欧美日本视频在线观看| 欧美精品啪啪| 亚洲精品乱码视频| 国产精品日韩| 蜜桃av一区| 国产日韩一级二级三级| 欧美日韩无遮挡| 99国产一区二区三精品乱码| 国产一区二区欧美| 欧美午夜视频网站| aa日韩免费精品视频一| 亚洲国产精选| 欧美成人精品一区| 亚洲欧美日韩国产成人精品影院| 久久综合九色综合久99| 亚洲一区二区三区视频播放| 中文国产一区| 欧美日韩在线播放一区二区| 欧美中文字幕视频在线观看| 欧美在线亚洲综合一区| 亚洲黄色三级| 国产精品久久久久久久久免费| 欧美日韩午夜精品| 亚洲精品护士| 欧美午夜理伦三级在线观看| 欧美人成免费网站| 国产精品推荐精品| 欧美午夜不卡影院在线观看完整版免费| 另类图片综合电影| 国产精品一区二区久久久久| 99精品视频免费观看| 欧美激情视频一区二区三区在线播放| 欧美日韩精选| 国内精品美女av在线播放| 亚洲精品国产欧美| 鲁鲁狠狠狠7777一区二区| 国产日韩欧美亚洲| 欧美精品三级日韩久久| 在线观看视频免费一区二区三区| 国产资源精品在线观看| 亚洲在线成人精品| 国产区二精品视| 亚洲国产午夜| 狠狠色综合色区| 精品999网站| 国产精品美女一区二区在线观看| 妖精成人www高清在线观看| 悠悠资源网久久精品| 国产精品五区| 久久九九免费| 亚洲日本成人网| 亚洲国产一区二区三区在线播| 亚洲在线观看免费视频| 欧美三级黄美女| 欧美一区二区视频在线观看2020| 亚洲视频一区在线观看| 国产精品久久久久久久久久久久久久| 国产精品稀缺呦系列在线| 国产视频在线观看一区| 欧美日韩另类字幕中文| 亚洲乱码国产乱码精品精可以看| 欧美国产在线视频| 国产精品一卡二| 亚洲免费播放| 国产精品久久午夜| 91久久在线视频|