Linux是以后操作系統(tǒng)的趨勢(shì)所在,目前的大部分國(guó)產(chǎn)操作系統(tǒng),甚至于安卓系統(tǒng)都是與Linux離不開關(guān)系。其中,F(xiàn)TP作為其中共享手段存在已久,我們今天就來看看怎么搭建簡(jiǎn)單的FTP服務(wù)器吧。
FTP 是文件傳輸協(xié)議(File Transfer Protocol)的縮寫。顧名思義,F(xiàn)TP用于計(jì)算機(jī)之間通過網(wǎng)絡(luò)進(jìn)行文件傳輸。你可以通過FTP在計(jì)算機(jī)賬戶間進(jìn)行文件傳輸,也可以在賬戶和桌面計(jì)算機(jī)之間傳輸文件,或者訪問在線軟件歸檔。但是,需要注意的是多數(shù)的FTP站點(diǎn)的使用率非常高,可能需要多次重連才能連接上。
今天來說一下在RHEL5下使用VSftpd來搭建ftp服務(wù)器,在搭建之前首先要考慮自己的工作環(huán)境,我搭建ftp干什么,公司的具體要求是什么,然后再根據(jù)公司的需求來具體實(shí)施。下面是搭建的具體實(shí)驗(yàn)步驟:
一、首先確定系統(tǒng)中已經(jīng)安裝了VSftpd軟件包,可以使用如下命令來查看并安裝:
liwei@linux# rpm -qa|grep vsftpd (如果有的話執(zhí)行第二條就行了,若沒安裝,可以使用如下命令來安裝)
liwei@linux# mount /dev/cdrom /media //掛載光盤到系統(tǒng)中
liwei@linux# rpm -vih /media/Server/vsftpd-版本號(hào) //安裝VSftpd
二、安裝好VSftpd軟件包后,然后就是給服務(wù)器配置一個(gè)靜態(tài)IP地址,當(dāng)然動(dòng)態(tài)也可以,但一般服務(wù)器最好使用靜態(tài)IP。配置IP地址的方法如下,我以配置192.168.0.1地址為例:
liwei@linux# vi /etc/sysconfig/network-scritps/ifcfg-eth0
在打開的配置文件中修改:
復(fù)制代碼 代碼如下:
DEVICE=eth0
BOOTPROTO=static
HAWADDR=00:0C:29:A2:8B:B8
ONBOOT=yes
IPADDR=192.168.0.1
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
三、配置好IP地址后,然后就可以根據(jù)你自己的要求來修改vsftpd的配置文件來達(dá)到你的目標(biāo)了,vsftpd的主配置文件為/etc/vsftpd/vsftpd.conf。下面用幾個(gè)例子來說明一下vsftpd的各個(gè)配置選項(xiàng)的作用。
1.匿名用戶配置:
在vsftpd.conf配置文件中,默認(rèn)是允許匿名用戶登錄FTP服務(wù)器的,但不允許上傳文件、不允許在服務(wù)器上創(chuàng)建目錄,我們可以修改以下一些配置項(xiàng)來達(dá)到自己的要求:
復(fù)制代碼 代碼如下:
anonymous_enable=YES //接受匿名用戶
no_anon_password=YES //匿名用戶登錄時(shí)不詢問口令
anon_root=目錄路徑 //匿名用戶登錄后所在的位置,可以根據(jù)自己的實(shí)際需求來修改
write_enable=YES //可以上傳(全局控制)
file_open_mode=0666 //上傳文件的權(quán)限,配合umask使用
anon_upload_enable=NO //匿名用戶可以上傳
anon_mkdir_write_enable=YES //匿名用戶可以建立目錄
anon_other_write_enable=YES //匿名用戶可以重名名、刪除等權(quán)限
anon_world_readable_only=YES //如果設(shè)為YES,匿名用戶登入者會(huì)被允許下載可閱讀的文檔
chown_uploads=YES //所有匿名上傳的文件的所屬用戶將會(huì)被更改為chown_username
chown_username=user //匿名上傳文件所屬用戶名
除了以上這些匿名用戶的選項(xiàng)外我們還可以添加一些設(shè)置FTP服務(wù)器的公共選項(xiàng),通過這些選項(xiàng)可以為FTP服務(wù)器設(shè)置一些不同的歡迎信息。
復(fù)制代碼 代碼如下:
ftpd_banner=Welcom to my FTP Server!!! //登錄時(shí)顯示的歡迎信息
dirmessage_enable=YES //允許為目錄配置顯示信息,顯示每個(gè)目錄下面message_file文件的內(nèi)容
setproctitle_enable=YES //顯示會(huì)話狀態(tài)信息
下面來舉個(gè)例子來說明一下匿名用戶的應(yīng)用:
為了公司的員工工作方便,公司決定搭建一臺(tái)FTP服務(wù)器,要達(dá)到的功能如下:
1.允許公司的任何員工把自己的一些文檔傳上FTP服務(wù)器上保存起來以便下次使用,
2.允許員工自己創(chuàng)建目錄
3.員工登錄成功后顯示歡迎信息
如果要達(dá)到以上的要求只需要在vsftpd.conf配置文件中修改以下選項(xiàng)就OK了,如果默認(rèn)沒有一些選項(xiàng),可以自己手動(dòng)添加:
復(fù)制代碼 代碼如下:
anonymous_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
ftpd_banner=Welcom to my FTP Server!!!
注意:如果只設(shè)置了anon_upload_enable=YES,但選項(xiàng)write_enabl未設(shè)置(或者設(shè)置成了NO),則匿名用戶仍然不能上傳文件。還有別忘記了修改FTP所處的文件夾的權(quán)限。
修改完以上配置文件后,使用命令service vsftpd restart重啟一下vsftpd服務(wù)然后測(cè)試就OK了,其實(shí)上面這個(gè)例子很不安全,我只是舉個(gè)例子,如果實(shí)際中使用,可以使用下面講到的另兩種方法都可以。
2.本地用戶配置:
復(fù)制代碼 代碼如下:
local_enable=YES //啟用本地用戶
local_umask=022 //本地用戶上傳的文件的權(quán)限,可以參考linux權(quán)限部分來了解
local_root=目錄路徑 //本地用戶登錄FTP服務(wù)器后所處的目錄
chroot_local_user=YES //限制本地用戶的根目錄為自己的主目錄
chroot_list_enable=YES //如果啟動(dòng)這項(xiàng)功能,則所有列在chroot_list_file之中的使用者都不能更改根目錄
chroot_list_file=限制的用戶所處的文件路徑
在FTP服務(wù)器上通常會(huì)有很多的本地用戶,那么有時(shí)候我們希望一些用戶可以登錄FTP服務(wù)器,而有的用戶我們不希望他們登錄,遇到這種情況該怎么解決呢?可以使用如下選項(xiàng)來實(shí)現(xiàn)些功能:
復(fù)制代碼 代碼如下:
userlist_enable=YES //啟用userlist功能模塊
userlist_deny=YES //拒絕userlist文件中列出的用戶登錄FTP服務(wù)器
userlist_file=userlist文件的的路徑
以上選項(xiàng)的意思就是我們假如不想讓一部分人登錄FTP服務(wù)器,那么我們可以寫一個(gè)文件把這些用戶加入到這個(gè)文件中去,然后把上面這個(gè)功能打開然后在userlist_file選項(xiàng)那指向這個(gè)文件的所在地,這樣這個(gè)文件中的用戶就不能登錄FTP服務(wù)器了。相反假如我們userlist_deny設(shè)置成NO的話,意思就是userlist_file指向的那個(gè)文件里的用戶可以登錄FTP服務(wù)器,其它用戶則不能登錄FTP服務(wù)器。
本地用戶的應(yīng)用比較簡(jiǎn)單,只要系統(tǒng)中可以登錄的用戶要登錄FTP服務(wù)器,直接輸入系統(tǒng)的用戶名和密碼就可以登錄了,默認(rèn)登錄后是在自己的家目錄里,也就是/home/用戶文件夾里。權(quán)限的控制就是修改這個(gè)目錄的權(quán)限來控制就OK了。如果想控制某些用戶禁止登錄,則可以按照上面的userlist功能來進(jìn)行限制就行了。
除了以上匿名用戶和本地用戶外的一些參數(shù)外還有網(wǎng)絡(luò)和連接參數(shù)及下面會(huì)提到的日志功能配置。
四、網(wǎng)絡(luò)和連接參數(shù)配置,
下面是一些常用的網(wǎng)絡(luò)和連接參數(shù):
復(fù)制代碼 代碼如下:
max_clients=1000 //可接受的最大連接數(shù),可以根據(jù)自己的實(shí)際情況來修改
max_per_ip=5 //每個(gè)IP地址的最大連接數(shù),可以根據(jù)自己的實(shí)際情況來修改
anon_max_rate=51200 //匿名用戶的帶寬(b/s)
local_max_rate=5120000 //本地用戶的帶寬(b/s)
idle_session_timeout=600 //空閑連接超時(shí)時(shí)間
data_connection_timeout=120 //數(shù)據(jù)傳輸超時(shí)時(shí)間
ACCEPT_TIMEOUT=60 //PAVS請(qǐng)求超時(shí)時(shí)間
connect_timeout=60 //PORT模式連接超時(shí)時(shí)間
connect_from_port_20=YES //使用標(biāo)準(zhǔn)的20端口來連接FTP
listen_address=地址或網(wǎng)段 //綁定到某個(gè)IP或網(wǎng)段,其他IP不能訪問該FTP
listen_port=2121 //綁定到某個(gè)端口
ftp_data_port=2020 //數(shù)據(jù)傳輸端口
pasv_max_port=0 //PASV連接模式時(shí)可以使用port范圍的上界,0表示任意。
pasv_min_port=0 //PASV連接模式時(shí)可以使用port范圍的下界,0表示任意。
以上各個(gè)選項(xiàng)后都有說明,有需要的可以自己根據(jù)自己的情況來添加,這里就不再詳述了。其中PORT模式是FTP工作模式中的主動(dòng)模式,PASV模式是FTP工作模式中的被動(dòng)模式。
五、日志功能配置
vsftpd可啟用日志功能,這樣,文件的上傳與下載信息將被完整地記錄在xferlog_file選項(xiàng)所設(shè)置的日志文件中,設(shè)置日志功能的選項(xiàng)如下:
復(fù)制代碼 代碼如下:
xferlog_enable=YES //開啟日志功能
xferlog_file=文件路徑 //日志文件的存放位置
xferlog_std_format=YES //使用標(biāo)準(zhǔn)格式記錄日志
vsftpd的專用日志模式配置選項(xiàng):
復(fù)制代碼 代碼如下:
dual_log_enable=YES //采用vsftpd自己專用的日志記錄方式
log_ftp_enable=YES //記錄所有的FTP命令日志
vsftpd_log_file=文件路徑 //指定vsftpd日志文件的位置
當(dāng)以上兩種日志功能都設(shè)置為NO時(shí),還可以使用系統(tǒng)日志來記錄FTP的日志,設(shè)置選項(xiàng)如下:
syslog_enable=YES //啟用后,默認(rèn)的日志寫入到/var/log/messages里
雖然可以使用這種方式來記錄FTP日志,但是推薦使用最上面的兩種,因?yàn)檫@樣查看日志時(shí)候比較清楚,容易分析日志。
六、其他常用選項(xiàng)設(shè)置
復(fù)制代碼 代碼如下:
ascii_upload_enable=YES //用ASCII模式上傳,
ascii_download_enable=YES //用ASCII模式下載
dirmessage_enable=YES //設(shè)置每個(gè)子目錄的歡迎信息。
banner_file=文件路徑 //設(shè)置歡迎信息的文件
ls_recurse_enable=YES //允許用戶使用ls -R命令
pam_service_name=vsftpd //定義PAM使用的名稱,默認(rèn)為vsftpd
guest_enable=YES //將所有的非匿名用戶都視為guest,即啟用虛擬用戶
guest_username=virtual //定義guest的使用者名稱
好了,這篇就寫到這了,下篇是“建立基于虛擬用戶的vsftpd服務(wù)“。
您可能感興趣的文章:- Linux環(huán)境下快速搭建ftp服務(wù)器方法介紹
- Linux中FTP服務(wù)器的搭建教程
- Linux平臺(tái)通過nginx和vsftpd構(gòu)建圖片服務(wù)器
- Linux實(shí)現(xiàn)文件上傳ftp服務(wù)器腳本代碼
- Linux(CentOS)上配置 SFTP服務(wù)器
- linux安裝部署ftp圖片服務(wù)器的實(shí)現(xiàn)方法