天天看點

ubuntu安裝ftp伺服器(一般配置)

ubuntu安裝ftp伺服器

1: 安裝vsftpd

~$ sudo apt-get install vsftpd 

ubuntu10.10自己裝了,這步省略。

2: 配置vsftpd

2.1 修改vsftpd的配置檔案。此類配置檔案通常位于 /etc 目錄下。

~$ sudo gedit /etc/vsftpd.conf

原檔案中不少指令被注釋,隻要啟用部分即可,一下是啟用的指令(配置檔案中對每一條都有具體說明)

listen=YES       # 伺服器監聽

anonymous_enable=YES       # 匿名通路允許

local_enable=YES    # 本地主機通路允許

write_enable=YES    # 寫允許

anon_upload_enable=YES

# 匿名上傳允許,預設是NO,嫌麻煩的可以開起來。出了問題我不負責~

anon_mkdir_write_enable=YES  # 匿名建立檔案夾允許

dirmessage_enable=YES  # 進入檔案夾允許

xferlog_enable=YES   #  ftp 日志記錄允許

connect_from_port_20=YES     # 允許使用20号端口作為資料傳送的端口

secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/private/vsftpd.pem

儲存。

 2.2  設定ftp相關目錄

        安裝完畢後,/srv下會增加一個ftp目錄。同時系統會增加一個名為ftp的使用者組,可以用~$ sudo cat    /etc/shadow 檢視, 如 ftp:*:14993:0:99999:7:::。我們在/srv/ftp目錄下建立兩個分别名為upload和download的目錄,分别用于上傳和下載下傳。接下來我們為剛才建立的幾個目錄設定權限,如下:

權限                            /srv/ftp                     /srv/ftp/upload                 /srv/ftp/download

使用者組(ftp)            讀                                  讀寫                                    讀

其他使用者                    讀                                   讀寫                                    讀                      

執行指令:

~$ sudo chmod 755 /home/ftp

~$ sudo chmod 777 /home/ftp/upload

~$ sudo chmod 755 /home/ftp/download

        如此,一方面我們允許了使用者組ftp通路/home/ftp (匿名通路);一方面賦予了使用者組ftp對/srv/ftp/upload的寫權利,是以網絡上的使用者可以友善地上傳檔案,但注意,當他們上傳後,上傳的檔案隻有root對這些檔案擁有權限,也就是說這個目錄僅能用于上傳,無法下載下傳其中的檔案;此外賦予了使用者組ftp對 /home/ftp/download的讀權利,同時我們拷貝進該目錄下的檔案對于使用者組而言通常都有讀權利,是以網絡上的使用者從此目錄下能且僅能下載下傳檔案。進而滿足了我們預先的要求。

3:啟動vsftpd

~$ sudo service vsftpd start

檢視目前所有程序: ~$ ps -e

 2183 ?        00:00:00 vsftpd

        至此伺服器端vsftp的最基本配置已完成,vsftpd已開啟。(注意你的防火牆配置,作為簡單試驗可以直接停用防火牆)

        當然關閉vsftpd程序隻需要執行~$ sudo service vsftpd stop,同時還可以使用指令~$ pgrep vsftpd 來檢視程序vsftp是否存在。

4:vsftpd 設定使用者目錄,如果你設定了匿名使用者也可以登入上傳的話~這個可以省了~

(1) 增加組 sudo groupadd ftpgroup

(2 )修改vsftpd.conf

~$ sudo gedit /etc/vsftpd.conf

  将底下三行

  #chroot_list_enable=YES

  # (default follows)

  #chroot_list_file=/etc/vsftpd/chroot_list

  改為

  chroot_list_enable=YES

  # (default follows)

  chroot_list_file=/etc/vsftpd/chroot_list

(3) 增加使用者ftpuser并設定其目錄為/home/nation/ftp/upload

sudo useradd -g ftpgroup -d /home/nation/ftp/upload -M ftpuser

(注:G:使用者所在的組 d:表示建立使用者的自己目錄的位置給予指定

M:不建立預設的自家目錄,也就是說在/home下沒有自己的目錄)

(4 )設定使用者密碼 passwd ftpuser

(5) 編輯chroot_list檔案:

sudo gedit /etc/vsftpd.chroot_list

内容為ftp使用者名,每個使用者占一行,如:

ftpuser

(6 )重新啟動vsftpd:

sudo service vsftpd start

繼續閱讀