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!表示已安裝完成 設...