ftp

ftp

安裝包:vsftpd-2.2.2-11.el6.x86_64.rpm 服務(wù)端

lftp-4.0.9-1.el6.x86_64.rpm 客戶端

配置文件:/etc/vsftpd/vsftpd.conf

端口:20 21

服務(wù)數(shù)據(jù)目錄:/var/ftp

啟動服務(wù):service vsftpd restart

客戶端:

[root@robin ~]# lftp 172.16.110.1 ls查看重新鏈接幢炸,可能是防火墻的原因

lftp 172.16.110.1:~> get biji.txt

指定目錄下載:

lftp 172.16.110.1:~> lcd /tmp/

lftp 172.16.110.1:/> get biji.txt

或者

lftp 172.16.110.1:/> get biji.txt -o /home/

或者

[root@robin ~]# wget ftp://172.16.110.1/biji.txt

下載目錄

lftp 172.16.110.1:/> mirror software/

上傳文件

lftp 172.16.110.1:/> put /root/install.log

上傳目錄

lftp 172.16.110.1:/pub> mirror -R /boot/

匿名模式

上傳文件 (還要對文件有寫權(quán)限姜胖,777)

anonymous_enable=yes

          anon_upload_enable=yes 27 

          anon_mkdir_write_enable=yes 31 

          anon_umask=022 

上傳文件下載

anon_umask=022 (在添加此權(quán)限之前上傳的文件都不刻意再下載廷蓉,只有開啟次權(quán)限后再上傳的文件可以再下載)

限速

anon_max_rate=20000

修改匿名帳號登錄位置

方法:1.修改ftp用戶家目錄(家目錄權(quán)限必須是755)

ftp:x:14:50:FTP User:/tmp/ftp:/sbin/nologin

方法2:

[root@robin ftp]# vim /etc/vsftpd/vsftpd.conf

anon_root=/tmp/ftp

工作原理

主動模式

C S

1024+n---------->21

1024+m- -------->21

1024+m<------- --20

主動方式的FTP是這樣的:客戶端從一個任意的非特權(quán)端口N(N>1024)連接到FTP服務(wù)器的命令端口舆声,也就是21端口藻茂。然后客戶端開始監(jiān)聽端口N+1,并發(fā)送FTP命令"port N+1"到FTP服務(wù)器。接著服務(wù)器會從它自己的數(shù)據(jù)端口(20)連接到客戶端指定的數(shù)據(jù)端口(N+1)。

針對FTP服務(wù)器前面的防火墻來說疗琉,必須允許以下通訊才能支持主動方式FTP:

1. 任何端口到FTP服務(wù)器的21端口 (客戶端初始化的連接 S<-C)

2. FTP服務(wù)器的21端口到大于1024的端口(服務(wù)器響應(yīng)客戶端的控制端口 S->C)

3. FTP服務(wù)器的20端口到大于1024的端口(服務(wù)器端初始化數(shù)據(jù)連接到客戶端的數(shù)據(jù)端口 S->C)

4. 大于1024端口到FTP服務(wù)器的20端口(客戶端發(fā)送ACK響應(yīng)到服務(wù)器的數(shù)據(jù)端口 S<-C)

總結(jié):

命令連接:客戶端>1024端口-> 服務(wù)器21端口

數(shù)據(jù)連接:客戶端>1024端口<- 服務(wù)器20端口

端口模式

C S

1024+n--------->21

<-----------------1024+m

1024+x--------->1024+m

為了解決服務(wù)器發(fā)起到客戶的連接的問題,人們開發(fā)了一種不同的FTP連接方式歉铝。這就是所謂的被動方式盈简,或者叫做PASV,當(dāng)客戶端通知服務(wù)器它處于被動模式時才啟用太示。

在被動方式FTP中柠贤,命令連接和數(shù)據(jù)連接都由客戶端,這樣就可以解決從服務(wù)器到客戶端的數(shù)據(jù)端口的入方向連接被防火墻過濾掉的問題类缤。當(dāng)開啟一個 FTP連接時臼勉,客戶端打開兩個任意的非特權(quán)本地端口(N > 1024和N+1)。第一個端口連接服務(wù)器的21端口餐弱,但與主動方式的FTP不同宴霸,客戶端不會提交PORT命令并允許服務(wù)器來回連它的數(shù)據(jù)端口,而是提交 PASV命令膏蚓。這樣做的結(jié)果是服務(wù)器會開啟一個任意的非特權(quán)端口(P > 1024)瓢谢,并發(fā)送PORT P命令給客戶端。然后客戶端發(fā)起從本地端口N+1到服務(wù)器的端口P的連接用來傳送數(shù)據(jù)驮瞧。

對于服務(wù)器端的防火墻來說氓扛,必須允許下面的通訊才能支持被動方式的FTP:

1. 從任何端口到服務(wù)器的21端口 (客戶端初始化的連接 S<-C)

2. 服務(wù)器的21端口到任何大于1024的端口 (服務(wù)器響應(yīng)到客戶端的控制端口的連接 S->C)

3. 從任何端口到服務(wù)器的大于1024端口 (入;客戶端初始化數(shù)據(jù)連接到服務(wù)器指定的任意端口 S<-C)

4. 服務(wù)器的大于1024端口到遠(yuǎn)程的大于1024的端口(出论笔;服務(wù)器發(fā)送ACK響應(yīng)和數(shù)據(jù)到客戶端的數(shù)據(jù)端口 S->C)

總結(jié):

命令連接:客戶端>1024端口-> 服務(wù)器21端口

數(shù)據(jù)連接:客戶端>1024端口-> 服務(wù)器>1024端口

客戶端傳輸模式(客戶端開啟被動模式)

[root@robin tmp]# vim /etc/lftp.conf

set ftp:passive-mode off

服務(wù)器關(guān)閉被動模式

[root@data1 ftp]# vim /etc/vsftpd/vsftpd.conf

pasv_enable=no

用戶驗證登錄(基于系統(tǒng)用戶)

[root@robin tmp]# useradd robin 此用戶是在服務(wù)端

[root@robin tmp]# passwd robin

[root@robin tmp]# lftp -u robin,123 172.16.110.1 默認(rèn)進(jìn)入用戶的家目錄

ftp用戶將shell設(shè)置為:/sbin/nologin

當(dāng)然你要保證自己能讀寫自己的目錄,就要在配置文件vsftpd.conf里設(shè)置一下就可以讀寫了.

local_enable=yes

write_enable=yes

local_umask=022

限制本地用戶切換目錄

不限制此功能可以隨意切換目錄 ls采郎,并在有權(quán)限的目錄下上傳文件(tmp)

方法1:

[root@robin tmp]# vim /etc/vsftpd/vsftpd.conf

chroot_local_user=YES 限制所有用戶切換目錄

設(shè)置本地用戶登錄目錄(不要求目錄權(quán)限,如果上傳就需要寫權(quán)限)

local_root=/tmp/manager

限制本地用戶速度

local_max_rate=200000

限制用戶使用ftp

方法1:

將不允許登錄的用戶寫入該文件:/etc/vsftpd/ftpusers (執(zhí)行命令時,顯示連接)

方法2:黑白名單

userlist_enable=YES

userlist_deny=YES

名單文件:/etc/vsftpd/user_list 黑名單

userlist_enable=YES

userlist_deny=NO

名單文件:/etc/vsftpd/user_list 白名單(名單以外的用戶不可操作)

虛擬用戶

1.建立用戶數(shù)據(jù)庫

cat /etc/vsftpd/ftpuser.txt

test111 # 賬戶

pass111 # 密碼

test222

pass222

2.轉(zhuǎn)換文本文件為數(shù)據(jù)庫文件

[root@robin ~]# rpm -qf $(which db_load)

db4-utils-4.7.25-17.el6.x86_64

[root@robin ~]# db_load -T -t hash -f /etc/vsftpd/ftpuser.txt /etc/vsftpd/vsftpd_login.db

[root@robin ~]# chmod 600 /etc/vsftpd/vsftpd_login.db

3.更改驗證方式

[root@robin ~]# mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

[root@robin ~]# vim /etc/pam.d/vsftpd 新建一個虛擬用戶的pam文件

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

4.建立系統(tǒng)帳號做為虛擬帳號的映射帳號

[root@robin ~]# useradd -d /home/vsftp virtual

[root@robin ~]# chmod 755 /home/vsftp

5.修改配置文件啟用虛擬用戶

[root@robin ~]# vim /etc/vsftpd/vsftpd.conf

guest_enable=YES # 開啟虛擬用戶功能

guest_username=virtual # 指定虛擬用戶使用的系統(tǒng)用戶

權(quán)限:

virtual_use_local_privs=YES 該選項為YES虛擬帳號權(quán)限和本地用戶相同

virtual_use_local_privs=NO 該選項為NO虛擬帳號權(quán)限和匿名用戶相同

給每個用戶設(shè)置權(quán)限

[root@robin ~]# vim /etc/vsftpd/vsftpd.conf

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vsftp_user_conf

[root@robin ~]# mkdir /etc/vsftpd/vsftp_user_conf

[root@robin ~]# touch /etc/vsftpd/vsftp_user_conf/test111

[root@robin ~]# cat /etc/vsftpd/vsftp_user_conf/test111

write_enable=NO

local_max_rate=20000000

[root@robin ~]# touch /etc/vsftpd/vsftp_user_conf/test222

[root@robin ~]# cat /etc/vsftpd/vsftp_user_conf/test222

write_enable=YES

local_max_rate=1000000

登錄后目錄都是 /home/vsftp

可以在/etc/vsftpd/vsftp_user_conf/test111 中添加

local_root=/home/vsftp/test111

添加vsftp 用戶的步驟

1.在/etc/vsftpd/ftpuser.txt中添加用戶和密碼

2.運行db_load命令將用戶和密碼加入數(shù)據(jù)庫

3.在/home/vsftp 中新建文件夾與用戶同名

4.在vsftpd_user_conf 中新建和用戶同名的文件并加入local_root=/home/vsftp/name

=========================

7. 實現(xiàn)虛擬路徑

        將某個目錄掛載到FTP服務(wù)器下供用戶使用,這就叫做虛擬路徑. 

        比如將gxl用戶的目錄掛載到FTP服務(wù)器中,供FTP服務(wù)器的用戶使用,使用如下命令即可: 

    [[root@localhost](mailto:root@localhost) opt]#     mount --bind /home/gxl /var/ftp/pub #使用掛載命令 

    [[root@localhost](mailto:root@localhost) opt]#     ls /var/ftp/pub 

                LumaQQ Screenshot.png 桌面 

8. 打開vsFTPd的日志功能

        添加下面一行到vsftpd.conf文件中,一般情況下該文件中有這一行,只要把前面的注釋符號#去掉即可,沒有的話就添加,或者修改: 

            xferlog_file=/var/log/vsftpd.log 

9. 限制鏈接數(shù),以及每個IP最大的鏈接數(shù)

        修改配置文件中,例如vsftp最大支持鏈接數(shù)100個,每個IP能支持5個鏈接: 

            max_client=100 

            max_per=5 

10. 限制傳輸速度

        修改配置文件中,例如讓匿名用戶和vsftd上的用戶(即虛擬用戶)都以80KB=1024*80=81920的速度下載 

            anon_max_rate=81920 

            local_max_rate=81920 

11. 將用戶(一般指虛擬用戶)限制在自家目錄

        修改配置文件中,這樣用戶就只能訪問自己家的目錄了: 

            chroot_local_user=yes 

        如果只想某些用戶僅能訪問自己的目錄,其它用戶不做這個限制,那么就需要在chroot_list文件(此文件一般是在/etc/vsftpd/中)中添加此用戶. 

        編輯此文件,比如將test用戶添加到此文件中,那么將其寫入即可.一般的話,一個用戶占一行. 

[root@localhost vsftpd]# cat chroot_list

                    test 

12. 綁定某個IP到vsFTPd

        有時候要限制某些IP訪問服務(wù)器,只允許某些IP訪問,例如只允許192.168.0.33訪問這個FTP,同樣修改配置文件: 

            listen_address=192.168.0.33 

配置 vsftpd.conf

anonymous_enable=NO #禁止匿名

local_enable=YES #允許本地登錄

write_enable=YES #允許寫狂魔,如需上傳蒜埋,則必須

local_umask=027 #將上傳文件的權(quán)限設(shè)置為:777-local_umask

anon_upload_enable=YES #允許虛擬用戶和匿名用戶上傳

anon_other_write_enable=YES #允許虛擬用戶和匿名用戶修改文件名和刪除文件

dirmessage_enable=YES

xferlog_enable=YES #打開日志記錄

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log #日志存放位置

xferlog_std_format=YES #標(biāo)準(zhǔn)日志格式

idle_session_timeout=600 #空閑連接超時

data_connection_timeout=120

ftpd_banner=Welcome to ChinaRise FTP service #歡迎信息

guest_enable=yes #允許虛擬用戶

guest_username=vsftpdguest #虛擬用戶使用的系統(tǒng)賬號

virtual_use_local_privs=YES #虛擬用戶擁有本地系統(tǒng)權(quán)限

chroot_local_user=NO

chroot_list_enable=YES

        #以上兩行將虛擬用戶限制在其目錄下,不能訪問其他目錄最楷,或者直接用 

chroot_local_user=YES

listen=yes #監(jiān)聽/被動模式

listen_port=21 #監(jiān)聽端口

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list #虛擬用戶名單保存在文件/etc/vsftpd/vsftpd.chroot_list 中

user_config_dir=/etc/vsftpd/vsftpd_user_conf #每個虛擬用戶名的更加詳細(xì)的培植保存在/etc/vsftpd/vsftpd_user_conf 中

                                                                                        虛擬用戶其他設(shè)置 

在/etc/vsftpd/vsftpd.chroot_list 文件中寫入允許登陸的虛擬用戶名稱整份,每行一個

在/etc/vsftpd/vsftpd_user_conf 文件夾中創(chuàng)建一個以虛擬用戶用戶名命名的文件,

寫入:local_root = /var/FTP/子目錄名

然后在/var/FTP下創(chuàng)建一個對應(yīng)的目錄即可

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末管嬉,一起剝皮案震驚了整個濱河市皂林,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蚯撩,老刑警劉巖础倍,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異胎挎,居然都是意外死亡沟启,警方通過查閱死者的電腦和手機(jī)忆家,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來德迹,“玉大人芽卿,你說我怎么就攤上這事「旄悖” “怎么了卸例?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長肌毅。 經(jīng)常有香客問我筷转,道長,這世上最難降的妖魔是什么悬而? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任呜舒,我火速辦了婚禮,結(jié)果婚禮上笨奠,老公的妹妹穿的比我還像新娘袭蝗。我一直安慰自己,他們只是感情好般婆,可當(dāng)我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布到腥。 她就那樣靜靜地躺著,像睡著了一般腺兴。 火紅的嫁衣襯著肌膚如雪左电。 梳的紋絲不亂的頭發(fā)上廉侧,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天页响,我揣著相機(jī)與錄音,去河邊找鬼段誊。 笑死闰蚕,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的连舍。 我是一名探鬼主播没陡,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼索赏!你這毒婦竟也來了盼玄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤潜腻,失蹤者是張志新(化名)和其女友劉穎埃儿,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體融涣,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡剃斧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丽已。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出躲舌,到底是詐尸還是另有隱情羹奉,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響翰苫,放射性物質(zhì)發(fā)生泄漏农尖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望滓技。 院中可真熱鬧令漂,春花似錦叠必、人聲如沸纬朝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽患膛。三九已至臣咖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酣胀,已是汗流浹背刁赦。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工娶聘, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人甚脉。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓丸升,卻偏偏與公主長得像,于是被迫代替她去往敵國和親牺氨。 傳聞我的和親對象是個殘疾皇子狡耻,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容

  • ftp 文件傳輸協(xié)議 跨平臺 上傳下載文件 vsftpd 工具:非常安全的文件傳輸協(xié)議;默認(rèn)的命令端口21號猴凹,數(shù)據(jù)...
    柒夏錦閱讀 4,026評論 1 9
  • 圖片更清晰夷狰,文字在最下面 FTP是TCP/IP的一種應(yīng)用,使用TCP而不是UDP郊霎,所以是可靠的沼头,面向連接的。 FT...
    停下浮躁的心閱讀 1,712評論 0 4
  • FTP服務(wù)概述 簡單FTP構(gòu)建及訪問 VSFTP服務(wù)基礎(chǔ) 用戶禁錮书劝、黑白名單 FTP并發(fā)及帶寬限制 一瘫证、FTP服務(wù)...
    紫_軒閱讀 7,604評論 3 25
  • 1.Vsftpd文件共享 1.1簡介 Vsftpd是“very secure FTP daemon”的縮寫,是一款...
    SkTj閱讀 1,924評論 0 3
  • 1 概述 工作中庄撮,需要搭建ftp服務(wù)器來實現(xiàn)資源的共享背捌。本文將通過腳本實現(xiàn)自動化安裝ftp服務(wù)器,并進(jìn)行相關(guān)配置洞斯,...
    ghbsunny閱讀 3,099評論 0 2