導航:首頁 > 操作系統 > linux多線程ftp

linux多線程ftp

發布時間:2023-06-15 15:57:07

linux中FTP的主進程跟從進程是什麼

我先假設你說的是linux系統中運行的ftp伺服器軟體。主進程就是一直運行在後台等待用戶來連接的那個進程,如果有一個用戶連接了這個ftp伺服器,主進程就會分裂出一個從進程,讓這個從進程一心一意地服務這個用戶,而主進程本身繼續等待下一個用戶。從進程在服務完一個用戶後就會退出。
一般來說,ftp伺服器上有幾個用戶,就會有幾個從進程與之對應。
也有的伺服器軟體不採用從進程的方式,而是用其他的方法來同時服務多個用戶,例如多線程方法或是非阻塞IO方法,有興趣的話可以參考一下網路程序設計的相關資料。
滿意么
:)

❷ linux怎麼配置ftp伺服器

一、下載vsftpd軟體

sudo apt-get install vsftpd

我這里已經是安裝過了

4、在文件末尾插入

pasv_min_port=10060
pasv_max_port=10090

此為vsftpd被動模式(pasv)的埠范圍

5、保存退出

三、添加FTP用戶

1、在一個合適的地方創建文件夾,這個文件夾作為用戶的根目錄,並設置好許可權。例如:/home/ubuntu/ftp

2、執行如下語句添加用戶(username為用戶名)

sudo useradd -d /home/ubuntu/ftp -s /bin/bash username

3、執行如下語句設置密碼(username為用戶名)

sudo passwd username

四、啟動ftp服務

sudo service vsftpd start

五、Enjoy!

❸ 如何在linux下搭建ftp服務

在LINXU平台上使用的FTP軟體有Wu-ftpd、Proftpd和vsftpd等。Wu-ftpd的歷史悠久,是最流行的FTP伺服器程序,穩定、出色,但發布較早,安全不及Proftpd及vsftpd。Proftpd在Wu-ftpd之後開發,安全性及穩定性有所提高。而vsftpd則是在Proftpd之後開發的,意為Very Sucure,吸取了Wu-ftpd和Proftpd的優點,安全性、速度、穩定性都有很大提高。

RHEL4(AS)中vsftpd的RPM軟體包在第1張光碟中,名為vsftpd-2.0.1-5.i386.rpm。默認情況下沒有安裝。Vsftpd的主配置文件是/etc/vsftpd.conf。未修改的主配置文件去掉注釋後如下(「;」後為解釋):
anonymous_enable=YES ;是否允許匿名訪問
local_enable=YES ;是否允許本地用戶登錄
write_enable=YES ;是否允許本地用戶寫入
local_umask=022 ;生向掩碼(文件生成掩碼),跟許可權有關,我記不住了,有興趣的朋友可以去查查,知道的朋友也請告訴我一下
dirmessage_enable=YES ;切換到FTP中的某目錄時,是否顯示該目錄下的隱含文件「.message」
xferlog_enable=YES ;是否啟用啟用上傳和下載日誌
connect_from_port_20=YES ;是否啟用FTP數據埠的連接請求
xferlog_std_format=YES ;是否讓FTP使用ftpd xferlog日誌格式
pam_service_name=vsftpd ;設置PAM認證服務的配置文件,位於/etc/pam.d目錄下
userlist_enable=YES ;需與userlist_file配合使用,稍後介紹
listen=YES ;是否處於獨立啟動模式
tcp_wrappers=YES ;為YES時,以tcp_wrappers作為主機訪問控制方式
(去掉後,vsftpd的配置文件就這么一點^_^。)

/etc/vsftpd.ftpusers保存著不允許進行FTP登錄的用戶帳戶,通常是許可權很高的用戶,以提高FTP的安全。
至於/etc/vsftpd.user_list文件,裡面有說明:
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
…………(後略)
前面說的userlist_enalbe就跟這有關(重點是第二、三行)

另外,/vsr/ftp是匿名用戶的宿主目錄.

配置vsftpd的虛擬用戶:
1. 建立虛擬用戶口令庫文件(奇數行為用戶名,偶數行為密碼):
[[email protected]]cat vsftpd
abc
abc12321cba
efg
vsftpd.conf

2. 生成認證文件(db_load生成認證文件,「-f」用於指明虛擬用戶的口令庫文件,即:vsftpd.操作中,口令庫文件名可隨便取.「-t hash」指加密方式)

db_load -T -t hash -f vsftpd /etc/vsftpd/vsftpd_login.db
3.設置許可權,以提高安全:
chmod 600 /etc/vsftpd/vsftpd_login.db
4. 建立虛擬用戶的PAM文件:
cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
5.建立虛擬用戶的目錄,並設置相應許可權:
useradd -d /home/vsftpd virtual
chmod 700 /home/vsftpd/
6. 編輯vsftpd的配置文件:
vi /etc/vsftpd/vsftpd.conf
guest_enable=yes
guest_username=virtual
pam_service_name=vsftpd.vu
7. 對虛擬用戶設置不同許可權:
vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd_user_conf ;設置主配置文件
(:wq #保存退出)
mkdri /etc/vsftpd_user_conf
vi /etc/vsftpd_user_conf/abc ;為虛擬用戶配置許可權
anon_world_readable_only=no ;用戶可以瀏覽目錄並下載文件
anon_upload_enable=yes ;用戶可以上傳文件
anon_mkdir_write_enable=yes ;用戶可以添加和刪除目錄
anon_other_write_enable=yes ;用戶可以進行其它操作,如改名、刪除文件等。
(:wq)
service vsftpd restart
如果只想讓用戶下載的話,則配置為:
anon_world_readable_only=no
好了,自個兒看效果吧!!!
常見問題:
1.無法匿名訪問?
可能是vsftpd.conf中的anonyoums_enable出的錯,或者是你根本就沒連接到伺服器,也有可能是伺服器的iptables出的問題(過濾掉了),這種情況下一般與selinux無關。還有就是服務未運行。
2.創建的虛擬用戶無法訪問vsftpd?
原因或許是在創建虛擬用戶的時候出的錯,如果無法使用虛擬用戶訪問vsftpd的時候,建議先檢查在創建虛擬用戶時,打錯什麼字沒有,如果還是沒有檢查出什麼問題來的話,建議你直接推倒重做。還是一點差點忘記說了,就是在創建虛擬用戶的時候,盡量將虛擬用戶的密碼設長一點、復雜一點,我在測試的時候,就是因為密碼太短而幾次沒有成功。
3.在cmd下用虛擬用戶登錄vsftpd時,出現「200 PORT command successful. Consider using PASV.」的字樣是怎麼回事啊?
你所訪問的電腦上的防火牆在做怪!!!我就上過這個當!!!
4.其它問題?
一般情況下,vsftpd出現問題大多數都是因為配置文件出錯的,如果想要測試的話,建議在命令行了進行測試,當vsftpd出現問題時,它會在訪問端的界面上顯示原因。另外不成功的原因是因為伺服器上的防火牆沒有配置好。

❹ linux中FTP

vi /etc/vsftpd/vsftpd.conf
anonymous_enable = no
local_enable = yes
write_enable = yes
local_umask = 022
userlist_enable = yes
userlist_deny = yes
userlist_file = /etc/vsftpd.user_list
dirmessage_enable = yes
xferlog_enable = yes
connect_from_port_20 = yes
xferlog_std_format = yes
pam_service_name = vsftpd
listen = yes
max_per_ip = 2
tcp_wrappers = yes
banner_file = /etc/vsftpd/welcome.txt

注意,如果vsftpd.conf不存在,自己新建一個
如果welcome.txt不存在,自己新建一個
如果/etc/vsftpd.user_list與/etc/vsftpd.ftpusers不存在,新建一個,其內容兩個文件一樣,裡面每一行都是一個用戶名,可以參照/etc/passwd文件,把那些UID小於500的帳號名稱寫到這兩個文件內。如下:
root
bin
....

要限制只有內網用戶可以連接的話,用上面的回答那種設置障礙hosts.allow與hosts.deny.
hosts.allow內容為:
vsftpd:192.168.0.0/255.255.255.0
hosts.deny內容為:
vsftpd:all

❺ Linux下配置FTP伺服器

它可運行在Linux、Solaris等系統中,支持很多其他的FTP 伺服器不支持的特徵:

非常高的安全性需求

帶寬限制

良好的可伸縮性

創建虛擬用戶的可能性

分配虛擬IP地址的可能性

一、vsftpd的啟動

#service vsftpd start

如果允許用戶匿名訪問,需創建用戶ftp和目錄/var/ftp

# mkdir /var/ftp

# useradd –d /var/ftp ftp

二、vsftpd的配置

Vsftpd的配置文件存放在/etc/vsftpd/vsftpd.conf 我們可根據實際數要對如下信息進行配置:

1. 連接選項

☆監聽地址和控制埠

(1) listen_address=ip address

定義主機在哪個IP 地址上監聽FTP請求。即在哪個IP地址上提供FTP服務。

(2) listen_port=port_value

指定FTP伺服器監聽的埠號。默認值為21。

2. 性能與負載控制

☆超時選項

(1) idle_session_timeout=

空閑用戶會話的超時時間,若是超過這段時間沒有數據的傳送或是指令的輸入,則會被迫斷線。默認值是300s

(2) accept_timeout=numerical value

接受建立聯機的超時設定。默認值為60s

☆負載選項

(1) max_clients= numerical value

定義FTP伺服器最大的兵法連接數。當超過此連接數時,伺服器拒絕客戶端連接。默認值為0,表示不限最大連接數。

(2) max_per_ip= numerical value

定義每個IP地址最大的並發連接數目。超過這個數目將會拒絕連接。此選項的設置將會影響到網際快車、迅雷之類的多線程下載軟體。默認值為0,表示不限制。

(3) anon_max_rate=value

設定匿名用戶的最大數據傳輸速度,以B/s為單位。默認無。

(4) local_max_rate=value

設定用戶的最大數據傳輸速度。以B/s為單位。默認無。此選項對所有的用戶都生效。

3. 用戶選項

vsftpd的用戶分為3類:匿名用戶、本地用戶(local user)及虛擬用戶(guest)

☆ 匿名用戶

(1) anonymous_enable=YES|NO

控制是否允許匿名用戶登錄

(2) ftp_username=

匿名用戶使用的系統用戶名。默認情況下,值為ftp

(3) no_anon_password= YES|NO

控制匿名用戶登錄時是否需要密碼。

(4) anon_root=

設定匿名用戶的根目錄,即匿名用戶登錄後,被定位到此目錄下。主配置文件中默認無此項,默認值為/var/ftp/

(5) anon_world_readable_only= YES|NO

控制是否只允許匿名用戶下載可閱讀的文檔。YES,只允許匿名用戶下載可閱讀的文件。NO,允許匿名用戶瀏覽整個伺服器的文件系統。

(6) anon_upload_enable= YES|NO

控制是否允許匿名用戶上傳文件。除了這個參數外,匿名用戶要能上傳文件,還需要兩個條件,write_enable參數為YES;在文件系統上,FTP匿名用戶對某個目錄有寫許可權。

(7) anon_mkdir_wirte_enable= YES|NO

控制是否允許匿名用戶創建新目錄。在文件系統上,FTP匿名用戶必須對新目錄的上層目錄擁有寫許可權。

(8) anon_other_write_enbale= YES|NO

控制匿名用戶是否擁有除了上傳和新建目錄之外的`其他許可權。如刪除、更名等。

(9) chown_uploads= YES|NO

是否修改匿名用戶所上傳文件的所有權。YES,匿名用戶上傳得文件所有權改為另一個不同的用戶所有,用戶由chown_username參數指定。

(10) chown_username=whoever

指定擁有匿名用戶上傳文件所有權的用戶。

☆本地用戶

(1) local_enable= YES|NO

控制vsftpd所在的系統的用戶是否可以登錄vsftpd。

(2) local_root=

定義本地用戶的根目錄。當本地用戶登錄時,將被更換到此目錄下。

☆虛擬用戶

(1) guest_enable= YES|NO

啟動此功能將所有匿名登入者都視為guest

(2) guest_username=

定義vsftpd的guest用戶在系統中的用戶名。

4. 安全措施

☆用戶登錄控制

(1) /etc/vsftpd.ftpusers

Vsftpd禁止列在此文件中的用戶登錄FTP伺服器。此機制是默認設置的。

(2) userlist_enable= YES|NO

此選項激活後,vsftpd將讀取userlist_file參數所指定的文件中的用戶列表。

(3) userlist_file=/etc/vsftpd.user_list

指出userlist_enable選項生效後,被讀取的包含用戶列表的文件。默認值是/etc/vsftpd.user_list

(4) userlist_deny= YES|NO

決定禁止還是只允許由userlist_file指定文件中的用戶登錄FTP伺服器。userlist_enable選項啟動後才能生效。默認值為YES,禁止文中的用戶登錄,同時不向這些用戶發出輸入口令的指令。NO,只允許在文中的用戶登錄FTP伺服器。

☆目錄訪問控制

(1) chroot_list_enable= YES|NO

鎖定某些用戶在自己的目錄中,而不可以轉到系統的其他目錄。

(2) chroot_list_file=/etc/vsftpd/chroot_list

指定被鎖定在主目錄的用戶的列表文件。

(3) chroot_local_users= YES|NO

將本地用戶鎖定在主目中。

閱讀全文

與linux多線程ftp相關的資料

熱點內容
老韓綜app怎麼看不了了 瀏覽:227
只有一個程序員的體驗 瀏覽:321
用伺服器地址怎麼有網 瀏覽:550
路由器伺服器昵稱是什麼 瀏覽:713
程序員男友消失了 瀏覽:399
程序員搜索框自動提示 瀏覽:26
android44api20 瀏覽:675
adb刷recovery命令 瀏覽:697
廣聯達正版加密鎖可以補辦嗎 瀏覽:945
java程序員一天多少行代碼 瀏覽:948
喪屍危機java 瀏覽:125
華為手機怎麼去除app標記未讀信息 瀏覽:856
java監控文件夾 瀏覽:807
群控伺服器主機怎麼轉變普通電腦 瀏覽:707
手機怎麼調整app大小 瀏覽:455
加密門禁卡揭秘 瀏覽:139
詞釋pdf 瀏覽:993
安卓手機上如何停止自動續費 瀏覽:882
加密編碼摘要 瀏覽:787
疫情命令黨 瀏覽:498