RHE5服務器管理之搭建FTP服務器步驟分享[圖]
一、FTP工作原理
在一個FTP會話中,存在兩個獨立的網(wǎng)絡連接:控制連接和數(shù)據(jù)連接。通常情況下,F(xiàn)TP服務器監(jiān)聽端口號21,等待控制連接建立請求。當FTP控制連接建立之后,即可開始傳輸文件,傳輸文件的連接稱為FTP“FTP數(shù)據(jù)連接”。FTP數(shù)據(jù)連接即FTP傳輸數(shù)據(jù)的過程,它有3種傳輸模式,即主動傳輸模式(PORT)、被動傳輸模式(PASSIVE,簡稱PASV)、單端口模式。
主動傳輸模式:當FTP控制連接建立,客戶端提出目錄列表及傳輸文件時,客戶端發(fā)出PORT命令與服務器協(xié)商,F(xiàn)TP服務器使用端口20作為服務器的數(shù)據(jù)連接端口與客戶端建立數(shù)據(jù)連接。端口20只用于連接源地址是服務器的情況,別且端口20沒有監(jiān)聽進程而是監(jiān)聽客戶請求。在主動傳輸模式中,F(xiàn)TP服務器使用20端口與客戶端的臨時端口連接并傳輸數(shù)據(jù),客戶端只是出于接受狀態(tài)。
被動傳輸模式:當FTP控制連接建立,客戶端提出目錄列表及傳輸文件時,客戶端發(fā)送PASV命令使服務器出于被動傳輸模式,F(xiàn)TP服務器等待客戶與其聯(lián)系。FTP服務器在非20端口的其他數(shù)據(jù)傳輸端口上監(jiān)聽客戶請求。當FTP客戶在防火墻之外訪問FTP服務器時,需要使用被動傳輸模式。即FTP服務器打開一個臨時端口等待客戶端與其連接并傳輸數(shù)據(jù)。服務器并不參與數(shù)據(jù)的主動傳輸,只是被動接收。
單端口模式:使用該傳輸模式,客戶端的控制連接端口和數(shù)據(jù)連接端口一致。因為這種模式無法在短時間連續(xù)輸入數(shù)據(jù)并傳輸命令,因此并不常用。
二、Linux服務器端主要FTP軟件:Wu-ftpd、Vsftpd、ProFTPD
有關軟件的詳細介紹這里不再贅述。
三、配置Vsftpd服務器
Vsftpd配置文件
/usr/sbin/vsftpd Vsftpd的主程序
/etc/rc.d/init.d/vsftpd 啟動腳本
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/pam.d/vsftpd PAM認證文件
/etc/vsftpd.ftpusers 禁止使用Vsftpd的用戶列表文件
/etc/vsftpd.user_list 禁止或允許使用Vsftpd的用戶列表文件
/var/ftp 匿名用戶主目錄
/var/ftp/pub 匿名用戶的下載目錄
/etc/logrotate.d/vsftpd.log Vsftpd的日志文件
1.快速搭建一個Vsftpd服務器
1.1:安裝軟件包
1.2:啟動vsftpd服務器
1.3:在/var/ftp/pub目錄下創(chuàng)建文件test1
#touch /var/ftp/pub/test1
1.4:在客戶端用Leapftp軟件測試
到此,一臺簡單的Vsftpd服務器就搭建好。這是一個專門提供下載服務的匿名FTP服務器,這是因為Red Hat已經(jīng)配置一個默認的FTP服務器,不過在實際應用中并不適用大部分的需求。
2.禁用匿名方式登錄FTP
1.1:修改主配置文件:/etc/vsftpd/vsftpd.conf
將第12行的YES改為NO,保存退出,重啟服務即可
3. 鎖定用戶的登錄目錄
3.1: 默認用戶登錄到FTP,除了看到自己的家目錄外,還能瀏覽其他目錄,這里讓用戶鎖定在自己家目錄下
3.2:修改主配置文件
添加117和118行,將鎖定用戶目錄的功能開啟,然后再指定鎖定用戶的列表文件
3.3:重啟服務,并將us1用戶添加到列表文件中
#service vsftpd restart
#echo us1 > /etc/vsftpd/chroot_list
3.4:驗證效果
可以看到他的訪問目錄只能呆在自己家了。
4.更改用戶默認的登錄目錄
4.1:改變用戶的訪問目錄為:/tmp
默認每個用戶登錄到FTP,都是登錄到他的家目錄
4.2:在/tmp下建一個文件:test2
#touch /tmp/test2
4.3:修改主配置文件,在主配置文件的最后一行添加:
# local_root=/tmp
4.4:重啟服務,并驗證效果
us1的登錄目錄已經(jīng)改變?yōu)?tmp
5. 配置用戶的個人配置文件
在主配置文件中,所有的參數(shù)對每個用戶都是生效的,比如:local_max_rate=value(限制用戶最大的數(shù)據(jù)傳輸速度),定義在主配置文件中的此選項,則會對所有的用戶限制相同的速度,但是,若想對一些特點的用戶增加最大的數(shù)據(jù)傳輸速度,則要用到用戶個人配置文件。
5.1:先定義用戶的個人配置文件目錄:在主配置文件中添加一行
#user_config_dir=/etc/vsftpd/userconf
5.2:創(chuàng)建這個目錄
#mkdir /etc/vsftpd/userconf
5.3:在這個目錄中創(chuàng)建跟用戶同名的文件,比如定義us1的個人配置文件
#touch /etc/vsftpd/userconf/us1
5.4:修改剛創(chuàng)建的文件us1,定義用戶us1一些個人配置參數(shù)(只對us1生效)。比如設置us1最大數(shù)據(jù)傳輸速度,則添加一行
local_max_rate=100000 #單位為Bytes/s
6.只允許特定的用戶可登陸FTP
6.1:修改主配置文件,添加下面三行
#userlist_deny=NO
#userlist_enable=YES
#userlist_file=/etc/vsftpd.user_list
第三行表示用戶的列表文件,第二行值為YES,表示此選項被激活,當列表中的用戶登錄FTP服務器時,該用戶在提升輸入口令之前被禁止。即不允許該用戶登錄。但是第一行值為NO,表示用戶列表文件的用戶可以登錄FTP服務器,默認是YES,禁止文件中的用戶登錄。所以開啟了第二行和第三行,一定要將第一行的值改為NO,否則變成列表中的用戶被禁止登陸。
6.2:將允許登錄的用戶添加到列表文件中
#echo us2 /etc/vsftpd.user_list
6.3:重啟服務即可,則該FTP服務器只允許us2登錄了。
7. 設置用戶的操作權限
write_enable=YES/NO
是否有可寫權限
anon_umask=
設置匿名用戶新增文件的umask數(shù)值,默認是077
local_umask=
設置用戶新增文件時的umask數(shù)值,默認為077
file_open_mode=
設置上傳檔案的全限,默認為0666。若要是上傳的檔案有執(zhí)行權限,則修改為0777
本文轉自:http://lonay.blog.51cto.com/872125/194923
相關文章
Windows下ftp服務器實現(xiàn)匿名訪問的配置方法
這篇文章主要介紹了Windows下ftp服務器實現(xiàn)匿名訪問的配置方法,需要的朋友可以參考下2018-02-02CentOS 7下安裝配置proftpd搭建ftp服務器的詳細教程
這篇文章主要介紹了CentOS 7下安裝配置proftpd搭建ftp服務器的詳細教程,需要的朋友可以參考下2017-09-09