国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于vsftp的嵌入式設(shè)備受控訪問方法

2012-08-13 06:10張傳凱馬少飛
電子技術(shù)應(yīng)用 2012年6期
關(guān)鍵詞:用戶名嵌入式客戶端

張傳凱,馬少飛

(北京萬集科技股份有限公司,北京100085)

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

vsftp是一個基于GPL發(fā)布的類Unix系統(tǒng)上使用的FTP服務(wù)器軟件,具有非常安全且快速穩(wěn)定的特點,目前已經(jīng)被許多大型站點所采用。vsftp可以方便地移植到嵌入式Linux操作系統(tǒng)中,如果將嵌入式設(shè)備作為FTP服務(wù)器,以PC作為客戶端,用戶即可通過FTP客戶端軟件實現(xiàn)PC與嵌入式設(shè)備之間的文件傳輸。如果再將SD卡掛載到文件系統(tǒng)的某個目錄下,用戶就可通過FTP服務(wù)來訪問SD卡。

1 移植vsftp到ARM-Linux系統(tǒng)

1.1 交叉編譯

要移植vsftp,首先到vsftpd官方網(wǎng)站下載程序源碼,本文使用的是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”,即使用交叉編譯器進行編譯。執(zhí)行make指令,會出現(xiàn)“/lib/libcap.so.1:could not read symbols:File in wrong format”編譯錯誤,提示找不到libcap.so.1庫文件,修改 vsftpd-2.3.4目錄下的vsf_findlibs.sh文件,注釋掉如下語句:

將vsftpd拷貝到嵌入式設(shè)備文件系統(tǒng)的/usr/sbin目錄下。

1.2 查看依賴及其相應(yīng)的配置文件

執(zhí)行arm-linux-readelf–d vsftpd指令查看vsftpd需要的動態(tài)鏈接庫,則顯示如下語句:

將以上所列的動態(tài)庫從/usr/local/arm/4.3.2/armnone-linux-gnueabi/libc/lib目錄下拷貝到嵌入式設(shè)備文件系統(tǒng)的/lib目錄下;將vsftpd-2.3.4目錄下的默認配置文件vsftpd.conf拷貝到嵌入式設(shè)備文件系統(tǒng)的/etc目錄下。

1.3 啟動設(shè)置

在嵌入式設(shè)備文件系統(tǒng)的/etc/rc.d/init.d目錄下添加名為vsftpd的腳本,內(nèi)容如下:

在/etc/init.d/rcS文件中添加/usr/sbin/vsftpd&語句,以便在開機時啟動vsftpd服務(wù)器。

2 用戶和目錄設(shè)置

為了使用戶登錄FTP服務(wù)器后能夠直接進入SD卡目錄中,需要對用戶及目錄進行設(shè)置。vsftpd提供了匿名用戶、本地用戶、虛擬用戶三種訪問方式。

(1)匿名用戶形式:在默認安裝的情況下,系統(tǒng)只提供匿名用戶訪問。

(2)本地用戶方式:以/etc/passwd中的用戶名為認證方式。

(3)虛擬用戶方式:支持將用戶名和口令保存在數(shù)據(jù)庫文件或數(shù)據(jù)庫服務(wù)器中。

由于創(chuàng)建用戶較為麻煩,可以采用從host直接拷貝的方式,將/etc目錄下的 passwd、passwd-、group、group-、shadow和shadow-文件拷貝到嵌入式設(shè)備文件系統(tǒng)的/etc目錄下。

執(zhí)行下面命令為訪問SD的用戶創(chuàng)建一個本地用戶,創(chuàng)建好之后就可以用admin登錄,并且其主目錄為/sdcard。這里使用/sdcard作為SD卡的掛載目錄。

admin用戶存在的問題就是可以對主目錄的上層目錄進行訪問。處于安全的考慮,大多數(shù)情況下需要對用戶隱藏掉系統(tǒng)文件以防止用戶的誤操作造成的系統(tǒng)崩潰。這就需要對admin用戶的權(quán)限進行限制,使其只可訪問/sdcard主目錄文件,其他文件都對用戶不可見。對vsftpd.conf配置文件做如下修改:

然后把admin用戶名添加到文件vsftpd.chroot_list中即可(一行一個用戶名)。vsftpd.chroot_list是一個用戶名列表,其中存放的是禁止訪問上層目錄的用戶名。

3 訪問SD卡

使用網(wǎng)線連接嵌入式設(shè)備和PC,啟動嵌入式設(shè)備,vsftpd服務(wù)器會在開機過程中自啟動。將嵌入式設(shè)備和PC的IP地址設(shè)置在同一網(wǎng)段,在PC端打開FTP客戶端軟件,在服務(wù)器欄中輸入嵌入式設(shè)備的IP地址,使用用戶名和密碼進行連接登錄??焖龠B接界面如圖1所示。

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

圖2 FTP客戶端

實驗測試表明,用戶可以方便地通過FTP客戶端軟件訪問到SD卡,而且通過使用該方法,可以創(chuàng)建不同的用戶,通過為其設(shè)定不同的主目錄,使用戶能夠?qū)η度胧皆O(shè)備的不同目錄進行訪問。如果用戶需要最高的權(quán)限,則可允許其他訪問到嵌入式設(shè)備的所有目錄和文件,只要不將該用戶名添加到vsftpd.chroot_list中即可。這種靈活性是將嵌入式設(shè)備模擬成USB從設(shè)備難以做到的。

[1]CORBET J,RUBINI A,HARTMAN G K.Linux Device drivers[M].O’reilly Media,Inc,2005.

[2]彭潁,王方.基于 LINUX的VSFTPD服務(wù)的實現(xiàn)[J].信息系統(tǒng)工程,2010(10).

[3]李傳偉,胡金春.嵌入式 Linux下 USB Gadget驅(qū)動框架研究[J].航天控制,2006(3).

[4]周余,王自強,都思丹.Linux Gadget系統(tǒng)及其在 S3c2410上的海量存儲研究[J].計算機應(yīng)用,2006(S2).

猜你喜歡
用戶名嵌入式客戶端
《護士進修雜志》投稿程序
《護士進修雜志》投稿程序
《護士進修雜志》投稿程序
如何看待傳統(tǒng)媒體新聞客戶端的“斷舍離”?
縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
孵化垂直頻道:新聞客戶端新策略
搭建基于Qt的嵌入式開發(fā)平臺
機智的快遞員
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Altera加入嵌入式視覺聯(lián)盟
桐梓县| 黄大仙区| 新乡市| 福海县| 砚山县| 公安县| 宝坻区| 广饶县| 清涧县| 晋江市| 大姚县| 拜泉县| 威海市| 太白县| 黔东| 沛县| 昌邑市| 美姑县| 遵义县| 罗田县| 孟州市| 正蓝旗| 桃园市| 沙田区| 临澧县| 上高县| 阜康市| 禹城市| 崇礼县| 宾阳县| 秦皇岛市| 雅江县| 东宁县| 石河子市| 上犹县| 巴楚县| 山东省| 福泉市| 红原县| 阿荣旗| 靖安县|