⑴ 求一份FTP客戶端的源碼,伺服器用的是Linux.
為什麼需要源碼呢,不知道你用的哪個linux發行版,現在不管哪個發行版都有編譯好的二進製版本直接安裝的,用源碼編譯多此一舉,linux服務端可以用vsftpd,linux客戶端可以用ftp,lftp,這些都是開源軟體,源碼很容易找,只是沒必要
⑵ linux下搭建ftp伺服器
linux下搭建ftp伺服器
下面我就為大家整理了一些Linux認證復習備考資料。希望大家可以從中學習答題方法,讓自己的得到進步!最近為了方便目標板與PC機上LINUX之間的通訊,就在LINUX搭建了FTP,工作不難,寫個總結。主要經過以下幾個步驟:
1.檢查是否安裝了vsftpd伺服器
可以用rpm -q vsftpd命令來查看,若顯示"vsftpd-1.1.3-8",則說明系統已經安裝vsftpd伺服器,若沒有則可以在圖形環境下單擊"主菜單→系統設置→添加刪除應用程序"菜單項,在出現的"軟體包管理"對話框里確保選中"FTP伺服器"選項,然後單擊"更新"按鈕,按照屏幕提示插入第3張安裝光碟即可開始安裝。
2.啟動/重新啟動/停止vsftpd服務
從Red Hat Linux 9.0開始,vsftpd默認只採用standalone方式啟動vsftpd服務,方法是在終端命令窗口運行以下命令:
[root@ahpeng root] /etc/rc.d/init.d/vsftpd start
重新啟動vsftpd服務:
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd restart
關閉vsftpd服務:
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd stop
3.vsftpd的配置
在Red Hat Linux 9.0里的vsftpd共有3個配置文件,它們分別是:
vsftpd.ftpusers:位於/etc目錄下。它指定了哪些用戶賬戶不能訪問FTP伺服器,例如root等。
vsftpd.user_list:位於/etc目錄下。該文件里的用戶賬戶在默認情況下也不能訪問
FTP伺服器,僅當vsftpd .conf配置文件里啟用userlist_enable=NO選項時才允許訪問。
vsftpd.conf:位於/etc/vsftpd目錄下。它是一個文本文件,我們可以用Kate、Vi等文本編輯工具對它進行修改,以此來自定義用戶登錄控制、用戶許可權控制、超時設置、伺服器功能選項、伺服器性能選項、伺服器響應消息等FTP伺服器的配置。
(1)用戶登錄控制
anonymous_enable=YES,允許匿名用戶登錄。
no_anon_password=YES,匿名用戶登錄時不需要輸入密碼。
local_enable=YES,允許本地用戶登錄。
deny_email_enable=YES,可以創建一個文件保存某些匿名電子郵件的黑名單,以防止這些人使用Dos攻擊。
banned_email_file=/etc/vsftpd.banned_emails,當啟用deny_email_enable功能時,所需的電子郵件黑名單保存路徑(默認為/etc/vsftpd.banned_emails)。
(2)用戶許可權控制
write_enable=YES,開啟全局上傳許可權。
local_umask=022,本地用戶的上傳文件的umask設為022(系統默認是077,一般都可以改為022)。
anon_upload_enable=YES,允許匿名用戶具有上傳許可權,很明顯,必須啟用write_enable=YES,才
可以使用此項。同時我們還必須建立一個允許ftp用戶可以讀寫的目錄(前面說過,ftp是匿名用戶的映射用戶賬號)。
anon_mkdir_write_enable=YES,允許匿名用戶有創建目錄的權利。
chown_uploads=YES,啟用此項,匿名上傳文件的屬主用戶將改為別的用戶賬戶,注意,這里建議不要指定root賬號為匿名上傳文件的屬主用戶!
chown_username=whoever,當啟用chown_uploads=YES時,所指定的屬主用戶賬號,此處的whoever自然要用合適的用戶賬號來代替。
chroot_list_enable=YES,可以用一個列表限定哪些本地用戶只能在自己目錄下活動,如果chroot_local_user=YES,那麼這個列表裡指定的用戶是不受限制的。
chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,則指定該列表(chroot_local_user)的保存路徑(默認是/etc/vsftpd.chroot_list)。
nopriv_user=ftpsecure,指定一個安全用戶賬號,讓FTP伺服器用作完全隔離和沒有特權的獨立用戶。這是vsftpd系統推薦選項。
async_abor_enable=YES,強烈建議不要啟用該選項,否則將可能導致出錯!
ascii_upload_enable=YES;ascii_download_enable=YES,默認情況下伺服器會假裝接受ASCⅡ模式請求但實際上是忽略這樣的'請求,啟用上述的兩個選項可以讓伺服器真正實現ASCⅡ模式的傳輸。
(注意:啟用ascii_download_enable選項會讓惡意遠程用戶們在ASCⅡ模式下用"SIZE/big/file"這樣的指令大量消耗FTP伺服器的I/O資源。)
這些ASCⅡ模式的設置選項分成上傳和下載兩個,這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳腳本等惡意文件而導致崩潰),而不會遭受拒絕服務攻擊的危險。
(3)用戶連接和超時選項
idle_session_timeout=600,可以設定默認的空閑超時時間,用戶超過這段時間不動作將被伺服器踢出。
data_connection_timeout=120,設定默認的數據連接超時時間。
(4)伺服器日誌和歡迎信息
dirmessage_enable=YES,允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內容
ftpd_banner=Welcome to blah FTP service,可以自定義FTP用戶登錄到伺服器所看到的歡迎信息。
xferlog_enable=YES,啟用記錄上傳/下載活動日誌功能。
xferlog_file=/var/log/vsftpd.log,可以自定義日誌文件的保存路徑和文件名,默認是/var/log/vsftpd.log.
知道了上面各個選項的含義,你可以根據自己的需要進行配置,達部分的選項一般用不著改動,配置完了以後,確認vsftpd服務已經啟動後,我們可以在Windows主機的S命令窗口裡輸入"ftp Addres"(用實際的FTP伺服器IP地址或者域名代替Addres),注意用戶名、密碼都是ftp(ftp是匿名用戶的映射用戶賬號)。
如果登陸不上,可以試驗在LINUX下本地登陸看看,還有可以在LINUX登陸WINDOWS下的FTP,試驗能否登陸成功,如果可以,那很有可能登陸不上LINUX下的FTP的原因是LINUX的防火牆的原因,可以用rpm -q vsftpd命令來查看,如果防火牆開啟,可以用命令把其關閉,也可以在圖形界面下"主菜單"中的"system settings"中選擇"seurity level",安裝系統的時候如果沒有改動,默認是的seurity level是"Medium",你可以不改動該設置,選中下面"allow incomning"中的"FTP",當然你也可以設置seurity level為"NO firewall",這樣再在Windows下登陸LINUX的FTP,應該可以登陸了。
登陸後具體ftp下的操作就參考有關ftp的命令了,登陸後的路徑為/var/ftp/pub,把你所需要操作的文件可以放在該目錄下,我這里用付ftp主要是在下載linux編譯後的文件到板子上,上傳文件到LINUX上一般不用通過ftp,注意你在ftp下對文件進行一些操作的時候很可能被fail掉,注意根據情況設置文件的操作許可權。
;⑶ Linux裡面ftp用rpm裝還是yum裝還是源碼裝好
要是用rpm包安裝的話,卸載需要謹慎,因為他在安裝的時候,會安裝各種信賴包,一不小心系統就被搞over了;總的來說,一些大型的比較占份量的最好使用源碼包安裝,...
⑷ linux怎麼搭建ftp伺服器
vsftpd是一款在Linux發行版中最受推崇的FTP伺服器程序。特點是小巧輕快,安全易用。並且是一個完全免費開放源碼的ftp軟體方法/步驟1、用在線安裝 yum install vsftpd pam* db4*-y使用命令將vsftp配置為系統服務 chkconfig --level 35 vsftpd on2、配置vsftpd服務的宿主 useradd vsftpdadmin -s /sbin/nologin -M 這個vsftpdadmin只是用來替換root的,並不需要登錄3、建立ftp虛擬宿主帳戶 useradd vsftpuser -s /sbin/nologin -M 這ftpuser只個虛擬帳戶的宿主,本身是不用登錄的4、配置vsftpd.conf 配置之前要先備份一下原來的 vi /etc/vsftpd/vsftpd.conf anonymous_enable=YES -- anonymous_enable=NO //不允許匿名用戶訪問,默認是允許。chroot_list_enable=YES -- chroot_list_enable=YES //不允許FTP用戶離開自己主目錄 增加 #設定虛擬用戶個人Vsftp的配置文件存放路徑。也就是說,這個被指定的目錄里,將存放每個Vsftp虛擬用戶個性的配置文件,一個需要注意的地方就是這些配置文件名必須和虛擬用戶名相同。 user_config_dir=/etc/vsftpd/vconf/userlocal#這一步非常重要,要記住這一步。一會要根據這個配置新建文件夾 #修改埠號 ftp_data_port=4040 reverse_lookup_enable=NO pasv_enable=yes pasv_min_port=48790 pasv_max_port=48800 listen_port=48796 #埠可以根據你自己實際情況配置,也可以用默認埠。但是為了安全考慮根據自己實際情況配置5、建立虛擬用戶文件 mkdir /etc/vsftpd/vconf touch /etc/vsftpd/vonf/vir_user6、建立虛擬用戶 vi /etc/vsftpd/vonf/vir_user virtualuser //用戶名 12345678 //密碼7、生成資料庫 db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db8、設置資料庫文件訪問許可權 chmod 600 /etc/vsftpd/vconf/vir_user chmod 600 /etc/vsftpd/vconf/vir_user.db9、修改/etc/pam.d/vsftpd auth sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user account sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user (要想同時使用系統用戶和虛擬用戶,就需要把required改成sufficient)10根據第四步配置的user_config_dir=/etc/vsftpd/vconf/userlocal 新建userlocal文件夾 mkdir /etc/vsftpd/vconf/userlocal11、根據第六步建立的用戶名建立一個文件 例如第六步建立的帳號是virtualuser,則新建一個virtualuser文件 touch /etc/vsftpd/conf/userlocal/virtualuser12、編輯該用戶訪問的文件路徑 vi /etc/vsftpd/conf/userlocal/virtualuser 輸入如下 local_root= //需要指定的網站根目錄,例如www..com所在文件夾為/www/ anonymous_enable=NO #禁止匿名用戶訪問 write_enable=YES #開啟寫許可權 local_umask=022 #上傳後文件的許可權掩碼 anon_upload_enable=NO #關閉匿名下載 anon_mkdir_write_enable=NO #關閉匿名創建文件夾 idle_session_timeout=60 #會話自動關閉時間 60是因分鍾 data_connection_timeout=120 #數據延遲時間 max_clients=10 #最大連接數 max_per_ip=5 #同一個ip同時允許5個IP聯機 local_max_rate=1048576 #實體用戶傳輸速度限制,單位B/s。0代表不限制13、配置就此完成,重啟vsftpd服務:service vsftpd restart。查看系統埠狀態:netstas -tulnp。如果能看到48796埠正在被vsftpd調用說明啟動成功。如有不清楚的可以再繼續看看網路經驗。
⑸ 如何用linux建立ftp搜索引擎
linux正大行其道,不少朋友相信已經用它架設過各種服務,什麼Web、FTP、BBS等等等啦,這次,我向大家介紹另外一個在linux下運行的伺服器軟體----NoseyParker,一個強大的FTP搜索引擎,只要一些簡單的步驟,一個強大的搜索引擎舉手間就建立起來了,各位且聽我慢慢道來。parker是一個FTP伺服器搜索引擎,是基於linux的開放源碼軟體。主要檢索各個FTP伺服器上面的文件,然後將目錄信息保存在本地的文件中,如果有查詢請求,將檢索本地的數據,將相關的信息(文件所在的地址)返回給請求者。教育網內很多FTP站點都採用這個作為搜索引擎,比如清華九井等。使用方法很簡單,如果你是linux系統,應當不會有什麼問題。如果是別的Unix-like系統,也可仿照作相應處理。本文以紅旗2,拿到源代碼之後,我們就可以開始安裝了。基本安裝方法如下(可以參考parker目錄下面的readme操作):1、當然,第一件事是開機進入你的linux,然後將你獲取到的parker源代碼文件(一般為parker.2000-09-06.xxxx.tgz,其中包含了這個parker的修改日期和修改者)到一個目錄中,這里我們假設是/root/parker/。2、是用文本編輯器編輯/root/parker/src/Makefile這個文件,主要是設置parker_home為你
⑹ 哪兒有linux下的ftp server的c程序源碼
ftp server ? 可以到sourceforge或者github開源軟體倉庫上去查找下載。流行的開源軟體也可以,比如ftp filezilla server就是比較流行的。不過不一定是c代碼了,也許是c++的。
⑺ 誰有 linux ftp 客戶端源碼下載地址
http://lftp.yar.ru/get.html
⑻ 如何在linux下搭建ftp伺服器
首先要看你是linux什麼系統,如果centos或者redhat fedora等系統,可以搭建yum源
用yum源直接安裝,命令yum -y install vsftpd
如果是ubuntu apt-get 命令進行安裝
如果是其他linux系統也可以使用源碼進行安裝。
⑼ linux下ftp客戶端源碼
sudo apt-get source $packagename
$packagename 換成ftp客戶端名字,如lftp,我猜lftp是最簡單的。
其他常見的有
kftpgrabber
KDE下ftp客戶端,支持編碼選擇。對中文支持較好
gftp
gnome下ftp客戶端,目前對中文支持尚不太好,受抱怨頗多。
fireftp
firefox的ftp客戶端插件,新版對中文支持較好。
FileZilla
對中文支持較好
CrossFTP
基於Java的穩定ftp客戶端和同步工具。優良的中文/Unicode支持。