LINUX下搭建FTP伺服器

2021-08-11 14:31:37 字數 4619 閱讀 1898

一般在各種linux的發行版中,預設帶有的ftp軟體是vsftp,從各個linux發行版對vsftp的認可可以看出,vsftp應該是一款不錯的ftp軟體。

搭建linux ftp伺服器的步驟如下:

(1)檢查vsftpd軟體是否安裝

使用如下命令可以檢測出是否安裝了vsftpd軟體,rpm -qa |grep vsftpd ,例如在我的centos 5.6中顯示的結果如下: 

(2)vsftpd軟體的使用 

1)使用vsftpd軟體,主要包括如下幾個命令: 

啟動ftp:service vsftpd start 

停止ftp:service vsftpd stop 

重啟ftp:service vsftpd restart 

2)或者使用帶有路徑的命令:

(3)vsftpd的配置

ftp的配置檔案主要有三個,在centos5.6中位於/etc/vsftpd/目錄下,分別是: 

1)ftpusers    該檔案用來指定那些使用者不能訪問ftp伺服器。 

2)user_list   該檔案用來指示的預設賬戶在預設情況下也不能訪問ftp 

3)vsftpd.conf   vsftpd的主配置檔案

(4)下面我們使用vi編輯vsftpd的主配置檔案:vsftpd.conf檔案。

etc/vsftpd/vsftpd.conf是vsftpd的主要配置檔案,在此檔案中以#開頭的行是注釋行,預設設定如下:

anonymous_enable=yes

#是否允許匿名登入ftp,yes表示允許。  

#local_enable=yes

#是否允許本地使用者登入,本地使用者即/etc/passwd內帳號,yes表示允許。

#write_enable=yes

#是否開放寫許可權。

#local_umask=022

#設定本地使用者的檔案的掩碼是022。

#anon_upload_enable=yes

#是否允許匿名使用者上傳檔案。

#anon_mkdir_write_enable=yes

#是否允許匿名使用者建立資料夾。

dirmessage_enable=yes

#當使用者進入某個目錄時,會顯示該目錄需要注意的內容,顯示的檔案預設是.message ,需要手工在該目錄下建立,當然,可以使用message_file設定專案來修訂!

xferlog_enable=yes

connect_from_port_20=yes

#啟用ftp資料埠的連線請求(ftp-data)。

#chown_uploads=yes

#是否改變上傳檔案的屬主,這個屬主可以由chown_username決定。

#chown_username=whoever

#當chown_uploads值為yes時,上傳檔案的屬主就是chown_username定義的值了。

#xferlog_file=/var/log/vsftpd.log

#當xferlog_enable的值為yes時,日誌將記錄在xferlog_file定義的檔案中。

#xferlog_std_format=yes

#是否使用標準的ftp xferlog模式。

#idle_session_timeout=600

#如果使用者在600秒內都沒有命令動作,強制離線!

#data_connection_timeout=120

#如果資料傳送在120秒內都無法傳送成功,那客戶端的聯機就會被vsftpd強制剔除!

#nopriv_user=ftpsecure

#執行vsftpd需要的非特權系統使用者,預設是nobody。

#async_abor_enable=yes

#當設定為允許時,乙個特別的ftp命令「非同步退出」將生效。

#ascii_upload_enable=yes

#是否允許使用ascii碼方式上傳檔案。

#ascii_download_enable=yes

#ftpd_banner=welcome to blah ftp service.

#定製歡迎資訊。

#deny_email_enable=yes

#是否禁止匿名使用者使用某些郵件位址。

#banned_email_file=/etc/vsftpd/banned_emails

#當deny_email_enable=yes時,可以利用這個設定專案來規定那個email address 不可登入vsftpd ,在上面設定的檔案內,一行輸入乙個email address 即可!

#chroot_local_user=yes

#是否將所有使用者限制在自己的家目錄之內(chroot)。

#chroot_list_enable=yes

#是否啟用將某些使用者限制在它們的家目錄內。

#chroot_list_file=/etc/vsftpd/chroot_list

#如果chroot_list_enable=yes時,可以設定哪些使用者會被限制在自己的家目錄內而無法離開(chroot),一行乙個賬號即可!

#ls_recurse_enable=yes

#是否允許使用ls -r等命令。

listen=yes

#開啟ipv4監聽

#listen_ipv6=yes

#開啟ipv6監聽。

pam_service_name=vsftpd

#使用pam模組控制,vsftpd檔案在/etc/pam.d目錄下。

userlist_enable=yes

#此選項被啟用後,vsftpd將讀取userlist_file引數所指定的檔案中的使用者列表。當列表中的使用者登入ftp伺服器時,該使用者在提示輸入密碼之前就被禁止了。即該使用者名稱輸入後,vsftpd就直接禁止掉該使用者,不會再進行詢問密碼等後續步驟。

一般配置的話:

以下幾項需要去掉前面的#號:

anonymous_enable=yes

local_enable=yes

write_enable=yes

anon_upload_enable=yes

anon_mkdir_write_enable=yes

ftp 存放檔案預設路徑在/var/ftp/pub目錄下,啟動ftp服務後,可能遇到一些問題,比如不能登入進去,或者不能寫目錄、寫檔案等,需注意的事項是的:

1、pub目錄的許可權不能全開,全開會報錯,chmod 755 -r pub

2、但是這樣也會帶來乙個問題,當匿名使用者登入後,在pub下的newftp目錄下想上傳乙個檔案,會報錯,因為匿名使用者(ftp)無法在該目錄下(該目錄屬於root使用者)建立乙個新檔案的,因為該目錄下他沒有許可權,所以要加入其他使用者(o)的寫許可權,chmod o+w /var/ftp/pub/newftp.

現在許可權變為:

drwxr-xrwx 2 root root   4096 06-20 16:55 newftp

其實就是757的許可權,此時匿名使用者(ftp)就可以在該目錄下上傳檔案了。

注:

比如ftp的預設目錄是/var/ftp 想把/mnt/winsoft資料夾,對映到/var/ftp目錄中

先在/var/ftp目錄中建乙個目錄

#mkdir /var/ftp/winsoft

然後執行mount命令

#mount --bind /mnt/winsoft /var/ftp/winsoft

這樣就ok了,還可以通過ln的方式處理。

linux及windows下訪問ftp服務只需使用「ftp  ip位址」命令即可:

[root@ftkylin ~]# service vsftpd restart

shutting down vsftpd:                             [  ok  ]

starting vsftpd for vsftpd:                          [  ok  ]

[root@ftkylin ~]# ftp 172.19.1.52

connected to 172.19.1.52 (172.19.1.52).

220 (vsftpd 2.2.0)

name (172.19.1.52:root): anonymous

331 please specify the password.

password:

230 login successful.

remote system type is unix.

using binary mode to transfer files.

ftp>

本文章源自於【

LINUX下搭建FTP伺服器

1.作業系統環境 檢視作業系統核心 root rac1 uname a linux rac1 2.6.32 220.el6.x86 64 1 smp wed nov 9 08 03 13 est 2011 x86 64 x86 64 x86 64 gnu linux 檢視作業系統發行版本 root ...

Linux下搭建FTP伺服器

接到的工作任務是,開啟21埠的ftp服務,之前21和22都是可以使用的,現在21不可以使用了 之前進行了伺服器的公升級 22上的服務是sftp,21是ftp,二者之間的區別暫不進行整理 有待補充.使用如下命令 rpm qa grep vsftpd可以檢測出是否安裝了vsftpd軟體,如果沒有安裝,使...

linux下搭建ftp伺服器

不管是自己購買的伺服器還是在vm中構建的虛擬機器,首先保證機器可以連線網路,連線網路ok後我們就開始教程 安裝ftp yum install y vsftpd配置ftp etc init.d iptables stopchkconfig iptables offsetenforce 0vi etc ...