1. 程式人生 > >開發電子商城5(linux下安裝tvsftpd)

開發電子商城5(linux下安裝tvsftpd)

install conf enable 創建文件夾 nbsp .org tails all 家目錄

1:先檢查linux下是否安裝了vsftpd

2:安裝了的話就刪除原來的

yum remove vsftpd

3::再到yum庫中安裝

yum -y install vsftpd

4:在根目錄下創建一個文件夾。這是文件上傳保存的路徑

  mkdir /ftpfile

或者

cd /

mkdir ftpfile

5:為上傳添加一個用戶 ,以i後上傳都用這個用戶

useradd ftpuser -d /ftpfile/ -s /sbin/nologin

這裏意思是添加一個叫做 ftpuser的用戶,這個用戶一登陸就進入 /ftpfile文件夾,這個用戶不允許shell等登錄方法,但是可以登錄ftp服務器

關於更多的useradd 命令可以參見

http://man.linuxde.net/useradd

http://blog.csdn.net/danson_yang/article/details/65629948

6:把新建的ftpfile文件夾 分配給 ftpuser

chown -R ftpuser.ftpuser /ftpfile/

更多的關於 chown 命令 參見 http://man.linuxde.net/chown

7:給ftpuser 設置密碼

passwd ftpuser

我設置為:(123456)

8:去ftpfile 下創建一份文件 以後測試用

  vim /ftpfile/index.html

隨便往文件中寫點什麽 然後保存退出

9:去ftpfile的配置文件下修改一些配置

9.1 先找到配置文件在什麽地方

whereis vsftpd

9.2 修改配置文件

cd /etc/vsftpd

vim vsftpd.conf

9.3 首先找banner節點

/banner

可以把 #ftpd_banner=Welcome to blah FTP service.

的這一行註釋取消 再改成 Welcome to 【自己的站點的名字】FTP service. 這裏的意思 進入ftp服務器 的歡迎語句

9.4 在banner 節點下繼續添加如下2個配置

1)local_root=/ftpfile(當本地用戶登入時,將被更換到定義的目錄下,默認值為各用戶的家目錄)
  2)anon_root=/ftpfile(使用匿名登入時,所登入的目錄)

9.5 繼續尋找 chroot_list 節點

打開 #chroot_list_enable=YES------》chroot_list_enable=YES

打開 chroot_list_file=/etc/vsftpd/chroot_list

9.6 再回到banner 節點下去添加配置

use_localtime=YES(默認是GMT時間,改成使用本機系統時間)

9.7 暫時退出插入模式(ctrl+o) 尋找anonymous 節點

把 anonymous_enable=YES 改成 anonymous_enable=NO(不允許匿名用戶登錄)

9.8 修改 或者 創建 /etc/vsftpd/chroot_list 文件

這個文件記錄的是可以遠程使用ftpserver的用戶的集合

把新建的ftpuser 寫入其中

9.9 :為了讓剛才的配置生效 重新啟動vsftpd

      service vsftpd restart

9.10 確保 local_enable=YES(允許本地用戶登錄)

9.11 確保 write_enable=YES(本地用戶可以在自己家目錄中進行讀寫操作)

9.12 確保local_umask=022(本地用戶新增檔案時的umask值)

9.13 確保 dirmessage_enable=YES(如果啟動這個選項,那麽使用者第一次進入一個目錄時,會檢查該目錄下是否有.message這個檔案,如果有,則會出現此檔案的內容,通常這個檔案會放置歡迎話語,或是對該目錄的說明。默認值為開啟)

9.14 確保 xferlog_enable=YES(是否啟用上傳/下載日誌記錄。如果啟用,則上傳與下載的信息將被完整紀錄在xferlog_file 所定義的檔案中。預設為開啟。)

9.15 確保 connect_from_port_20=YES(指定FTP使用20端口進行數據傳輸,默認值為YES)

9.16 確保 xferlog_std_format=YES(如果啟用,則日誌文件將會寫成xferlog的標準格式)

9,17 確保 chroot_list_enable=YES(設置是否啟用chroot_list_file配置項指定的用戶列表文件)

9.18 確保 chroot_local_user=NO(用於指定用戶列表文件中的用戶是否允許切換到上級目錄) 獲得 被註釋

9.19 確保 listen=YES 和 pam_service_name=vsftpd

9.20:確保 tcp_wrappers=YES

9.21 在 pam_service_name=vsftpd之下添加如下配置

pasv_min_port=61001(被動模式使用端口範圍最小值)

pasv_max_port=62000(被動模式使用端口範圍最大值)
pasv_enable=YES(pasv_enable=YES/NO(YES)
若設置為YES,則使用PASV工作模式;若設置為NO,則使用PORT模式。默認值為YES,即使用PASV工作模式。
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
一、PORT(主動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。
當需要傳送數據時,客戶端在命令鏈路上用 PORT命令告訴服務器:“我打開了****端口,你過來連接我”。於是服務器從20端口向客戶端的****端口發送連接請求,建立一條數據鏈路來傳送數據。
二、PASV(被動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。
當需要傳送數據時,服務器在命令鏈路上用 PASV命令告訴客戶端:“我打開了****端口,你過來連接我”。於是客戶端向服務器的****端口發送連接請求,建立一條數據鏈路來傳送數據。
從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完全不同。而FTP的復雜性就在於此。

10:編輯防火墻 把vsftp的端口號 解放

#vsftpd
-A INPUT -p tcp --dport 61001:62000 -j ACCEPT
-A OUTPUT -p tcp --sport 61001:62000 -j ACCEPT
-A INPUT -p tcp --dport 20 -j ACCEPT
-A OUTPUT -p tcp --dport 20 -j ACCEPT
-A INPUT -p tcp --dport 21 -j ACCEPT
-A OUTPUT -p tcp --dport 21 -j ACCEPT

11:讓防火墻起作用 和 重啟vsftpd

  service iptables restart

service vsftpd restart

12:修改 /etc/selinux/conf

把 SELINUX=enforcing 改成 SELINUX=disable

這好像是為了確保遠程用戶 可以在服務器中創建文件夾

馬上起作用: setenforce 0

13 再重新啟動 vsftpd

14 test

參照:http://www.gzidc.org/hostq/n685.html

開發電子商城5(linux下安裝tvsftpd)