ARM搭建FTP伺服器 FTP arm移植

2021-07-06 04:22:50 字數 4362 閱讀 5285

ftp

移植(預設埠號21)

一、vsftpd-2.1.2.tar.gz,

解壓(tar –zxvf vsftpd-2.1.2.tar.gz)

二、交叉編譯:

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

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

資料傳送使用port

20idle_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

#使用standalone啟動vsftpd,而不是super

daemon(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@lfs

vsftpd-2.0.1]#cp

redhat/vsftpd.pam

單位: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、

搭建FTP伺服器

ftp 是僅基於 tcp 的服務,不支援 udp。與眾不同的是 ftp 使用兩個埠,乙個資料埠和乙個命令埠,也可叫做控制埠。通常來說這兩個埠是 21 命令埠 和 20 資料埠 由於 ftp 工作方式的不同,資料埠並不總是 20,分為 主動 ftp 和被動 ftp。1.主動 ftp 主動方式的 ftp...

ftp伺服器搭建

1.檢查是否已安裝vsftpd伺服器 rpm qa grep vsftpd 若未安裝則執行 yum install vsftpd y 2.設定開機自啟動 chkconfig vsftpd on1.執行cd etc vsftpd 用vi開啟vsftpd.conf 配置檔案 2.找到chroot lis...

搭建FTP伺服器

初次搭建ftp的過程中經過多次嘗試,總結了乙個較為簡單的ftp搭建步驟 1.首先購買乙個伺服器,個人使用的是阿里雲的ecs雲伺服器,系統選64位的centos7.2版本 阿里雲官網 2.安裝vsftp yum install vsftpd 遇到問號直接按回車 看到complete!表示已安裝完成 設...