ubuntu 14.04 搭建vsftpd

來源:互聯網
上載者:User
什麼是vsftpd?

vsftpd 的名字代表”very secure FTP daemon”, 安全是它的開發人員 Chris Evans 考慮的首要問題之一。在這個 FTP 伺服器設計開發的最開始的時候,高安全性就是一個目標。
而如果你不知道什麼是FTP,那麼可以百度。 本文目的

在ubuntu 14.04上搭建一個ftp server,同時設定幾個賬戶,使得該賬戶只能訪問伺服器指定目錄下的內容,擁有下載的權利,但是無法修改server上的檔案內容。 步驟

1.安裝vsftpd

sudo apt-get update sudo apt-get install vsftpd

2.啟動,關閉vsftpd

sudo service vsftpd status//查看vsftpd狀態sudo service vsftpd start//啟動vsftpdsudo service vsftpd stop//關閉vsftpdsudo service vsftpd restart//重新啟動vsftpd

上面幾條命令是讓你確保vsftpd進程已經啟動,有的時候啟動失敗可能是連接埠21被佔據,可以利用如下命令查看佔據21連接埠的進程。

sudo netstat -naplt |grep 21//運行結果如下則正常tcp  0  0 0.0.0.0:21    0.0.0.0:*    LISTEN      2717/vsftpd 

3.配置/etc/vsftpd.conf檔案

#如果設定為YES,則vsftpd將以獨立模式運行,由vsftpd自己監聽和處理IPv4連接埠的串連請求listen=YES#不允許匿名訪問,匿名訪問者的使用者名稱和密碼均為ftpanonymous_enable=NO#允許本機使用者(即linux系統中的使用者帳號)登入FTP伺服器local_enable=YES#允許本機使用者對FTP伺服器檔案具有寫入權限write_enable=NO#不允許匿名使用者上傳檔案anon_upload_enable=NO#不允許匿名使用者建立檔案夾anon_mkdir_write_enable=NO# 是否啟用目錄歡迎資訊功能# 當使用者用CMD模式首次訪問伺服器上某個目錄時,FTP伺服器將顯示歡迎資訊# 預設情況下,歡迎資訊是通過該目錄下的.message檔案獲得的# 此檔案儲存自訂的歡迎資訊,由使用者自己建立dirmessage_enable=YES#使用當地本機時間use_localtime=YES#讓系統自動維護上傳和下載的記錄檔xferlog_enable=YESconnect_from_port_20=YESxferlog_file=/var/log/vsftpd.log#登入歡迎資訊ftpd_banner=Welcome to work9.#所有使用者均不允許自由訪問其他目錄chroot_local_user=YES#這兩句配套使用,存在特殊使用者可以訪問伺服器其他目錄,使用者名稱存放在/etc/vsftpd/chroot_list中chroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list#指定使用者登入伺服器後所在目錄#注意需要將該目錄的許可權修改為555,即sudo chmod 555 ./local_root=/home/work9/文檔/work9secure_chroot_dir=/var/run/vsftpd/emptyrsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pemrsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key#允許虛擬使用者訪問guest_enable=YES#指定虛擬使用者對應的伺服器本地系統使用者名稱guest_username=virtual#虛擬使用者設定檔夾 user_config_dir=/etc/vsftpd/vsftpd_user_conf#虛擬使用者資料庫pam_service_name=/etc/pam.d/vsftpd.vu

以上就是我的設定檔了。給個建議,先對原始的設定檔進行備份,比如:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bake

然後最好是按照上面的一個一個添加,測試vsftpd是否運行正常,否則
不是很容易發現問題在哪裡。

4.建立虛擬使用者資料庫

//下載一個資料庫sudo apt-get install db5.1-util//產生一個使用者和密碼的檔案,奇數行是使用者名稱,偶數行密碼sudo vim login.txt//組建檔案夾sudo mkdir /etc/vsftpd//chroot_list裡存放這可以訪問伺服器中其他目錄的使用者名稱sudo vim /etc/vsftpd/chroot_list//使用db_load命令產生口令庫檔案sudo db5.1_load -T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db//建立虛擬使用者訪問所需要的目錄並且設定相應的存取權限,這裡增加了一個使用者名稱"virtual"的本地賬戶,因此在設定檔/etc/vsftpd.conf中是"guest_username=virtual"sudo mkdir /home/ftpsudo useradd -d /home/ftp/ virtualsudo chmod 700 /home/ftp///配置PAM檔案,建立/etc/pam.d/vsftpd.vusudo vim /etc/pam.d/vsftpd.vu//增加以下兩行內容auth required pam_userdb.so db=/etc/vsftpd/vsftpd_loginaccount required pam_userdb.so db=/etc/vsftpd/vsftpd_login

5.每次修改/etc/vsftpd.conf檔案後需要重新啟動,方能生效。

本文主要參考:http://os.51cto.com/art/201008/222036.htm

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.