新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM搭建FTP服務器

        ARM搭建FTP服務器

        作者: 時間:2016-11-26 來源:網絡 收藏
        ftp的使用使得我們可以快速的上傳到ftp所在服務器或者下載文件,對于嵌入式開發來說,ftp無疑使很好地選擇,使得pc用戶方便快捷的便可訪問arm板的文件,下面我就講述一下如何在arm上搭建ftp服務器:
        ftp移植(默認端口號21)

        一、下載軟件包:vsftpd-2.1.2.tar.gz,解壓(tar –zxvf vsftpd-2.1.2.tar.gz)

        本文引用地址:http://www.104case.com/article/201611/321879.htm

        二、交叉編譯:

        1、修改Makefile:修改CC=gcc為CC=arm-linux-gcc

        2、修改vsf_findlibs.sh文件,去掉#Look for libcap部分,因為源碼版本的不同,語句可能不同,2.1.2版本去掉的代碼如下:

        # Look for libcap (capabilities)

        #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";

        #fi

        3、#make,之后會生成幾個可執行文件,其中vsftpd就是我們需要的,查看vsftpd的類型

        #file vsftpd

        #arm-linux-readelf–d vsftpd,查看vsftpd文件的依賴庫

        拷貝相應庫到板子的/usr/lib目錄下(此步驟可省略不添加庫時運行也正常)

        三、文件下載和配置:

        1、將vsftpd拷貝到/usr/sbin目錄下

        2、拷貝vsftpd.conf到/etc目錄下,修改配置如下:

        anonymous_enable=YES //允許匿名用戶

        local_enable=YES//本地訪問

        write_enable=YES//可修改

        local_umask=077//創建的文件權限

        anon_upload_enable=YES//允許匿名用戶上傳

        anon_mkdir_write_enable=YES//可創建文件夾和修改文件夾內的文件

        dirmessage_enable=YES

        xferlog_enable=YES

        connect_from_port_20=YES

        xferlog_std_format=YES

        pam_service_name=vsftpd//服務名稱

        ftp_username=ftp

        no_anon_password=YES//匿名用戶登錄不需要密碼

        anon_root=/home/ftp//匿名用戶根目錄

        anon_world_readable_only=YES

        tcp_wrappers=NO

        3、創建用戶,可根據需要創建和設置用戶權限

        4、創建文件夾:

        i.mkdir /var/ftp

        ii.mkdir /var/ftp/pub

        iii.chmod 777 /var/ftp/pub

        注:所有的都必須跟/etc/vsftpd.conf中的完全一致才行

        5、與配置相關的:

        /usr/sbin/vsftpd----VSFTPD的主程序(必需)
        /etc/rc.d/init.d/vsftpd----啟動腳本
        /etc/vsftpd.conf----主配置文件(必需)
        /etc/pam.d/vsftpd----PAM認證文件
        /etc/vsftpd.ftpusers----禁止使用VSFTPD的用戶列表文件
        /etc/vsftpd.user_list----禁止或允許使用VSFTPD的用戶列表文件(如果在配置文件中指定了,則不能用匿名用戶登錄)
        /etc/userconf------指定用戶個人配置文件所在的目錄
        /var/ftp----匿名用戶主目錄
        /var/ftp/pub----匿名用戶的上傳目錄
        /var/log/vsftpd.log-------日志文件
        除vsftpd、vsftpd.conf兩個文件外,其他文件的需要具體看主配置文件的配置

        6、用戶設置:一般只要剛啟動root用戶是可以登錄的,而且權限很高,如果向增加用戶,可以用如下命令:a

        #dduser–G ftp–h/根目錄 用戶名

        #passwd 用戶名

        #chown 用戶名.ftp /目錄–R

        #chmod 755 /目錄–R

        之后重啟vsftpd服務,就可以用新的用戶名登錄了

        7、測試的時候一定要保證板子是能夠ping通的!

        8、具體配置:Vsftpd.conf配置:
        anonymous_enable=YES
        #允許匿名訪問
        local_enable=YES
        #允許本地用戶訪問(/etc/passwd中的用戶)
        write_enable=YES
        #允許寫入權限,包括修改,刪除
        local_umask=022
        #本地用戶文件上傳后的權限是-rw-r-r
        #anon_umask=077
        #匿名用戶上傳后權限是-rw----
        anon_world_readable_only=YES
        #允許匿名用戶瀏覽,下載文件
        anon_upload_enable=YES
        #允許匿名用戶上傳
        #anon_mkdir_write_enable=YES
        #允許匿名用戶建立目錄
        anon_other_write_enable=YES
        #允許匿名用戶具有建立目錄,上傳之外的權限,如重命名,刪除
        dirmessage_enable=YES
        #當使用者轉換目錄,則會顯示該目錄下的.message信息
        xferlog_enable=YES
        #記錄s使用者所有上傳下載信息
        xferlog_file=/var/log/vsftpd.log
        #將上傳下載信息記錄到/var/log/vsftpd.log中
        connect_from_port_20=YES
        #確保ftp-datad數據傳送使用port20
        idle_session_timeout=600
        #如果使用者600秒沒有動作,則踢出

        chroot_list_enable=YES
        #限制使用者不能離開家目錄,例如blue登陸后位于/home/blue下,設置該選項后,他不可以轉到/home/blue的上層目錄,如/bin,/usr,/opt...etc。
        chroot_list_file=/etc/vsftpd.chroot_list
        #與上條同時使用,設置限制使用者的存放文件為/etc/vsftpd.chroot_list
        #建立文本文件/etc/vsftpd.chroot_list,寫入要限制的用戶,一行一個。
        #如果希望限制所有用戶,則可以設置chroot_local_user=YES代替上面兩行
        tcp_wrappers=YES
        #支持tcp_wrappers,限制訪問(/etc/hosts.allow,/etc/hosts.deny)
        listen=YES

        #使用standalone啟動vsftpd,而不是superdaemon(xinetd)控制它(vsftpd推薦使用standalone方式)
        listen_port=21
        #ftp監聽端口
        userlist_enable=YES
        userlist_deny=YES
        userlist_file=/etc/vsftpd.user_list
        #以上三條設定不允許登陸的用戶,用戶列表存放在/etc/vsftpd.user_list中,一行一個帳號
        pam_service_name=vsftpd
        #PAM所 使用的名稱.同userlist_*一樣限制用戶登陸,不同的是userlist_*在進行密碼驗證之前拒絕用戶登陸,pam是在密碼驗證之后拒絕登陸. (提示密碼錯誤)用戶列表默認存放在/etc/ftpusers中,一行一個.(可通過/etc/pam.d/vsftpd重定向用戶列表存放文件)
        #獲得/etc/pam.d/vsftpd:
        #[root@LFSvsftpd-2.0.1]#cpRedHat/vsftpd.pam/etc/pam.d/vsftpd

        max_clients=100
        #最大用戶在線數量
        max_per_ip=2
        #每ip最大線程
        anon_max_rate=30000
        #匿名用戶最大傳輸速度單位:bytes/秒
        local_max_rate=50000
        #本地用戶最大傳輸速度單位:bytes/秒
        user_config_dir=/etc/userconf
        #個別用戶配置目錄(用來設定特殊帳號),例如我想讓blue這個用戶的傳輸速度是100KB
        就可以在/etc/userconf/下創建文本文件blue(與用戶名相同),加入local_max_rate=100000即可
        anon_root=/var/ftp
        #設定匿名用戶登陸后所在的目錄
        local_root=/var/local_user
        #設定所有本地用戶登陸后的目錄,如不設置此項,則本地用戶登陸后位于各自家目錄下。
        use_localtime=YES
        #使用本地時間而不是GMT

        nopriv_user=vsftpd
        #設定服務執行者為vsftpd,默認使用的是nobody,vsftpd推薦使用一個權限很低的用戶.這里用vsftpd代替nobody,創建vsftpd用戶:

        9、創建ftp虛擬用戶:

        a)安裝db_load:apt-get install db4.6-util

        10、




        關鍵詞: ARMFTP服務

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 汕头市| 德保县| 剑河县| 陇南市| 定日县| 潍坊市| 黄龙县| 平阴县| 惠来县| 忻城县| 南投县| 徐水县| 高平市| 土默特左旗| 三门县| 宜城市| 宜兴市| 东乡| 炉霍县| 阳谷县| 泉州市| 饶阳县| 海口市| 康平县| 武强县| 九寨沟县| 涟水县| 凉城县| 资讯 | 周口市| 安多县| 济阳县| 镇原县| 甘南县| 陆良县| 栾城县| 平阳县| 通山县| 安龙县| 蕉岭县| 广元市|