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