Linux的ftp安裝及使用

FTP服務器的安裝與配置(Ubuntu)
1.查詢是否安裝vsftpd:  rpm -qa |grep vsftpd 

 (rpm的安裝:apt-get install rpm)

或者查詢當前ftp進程:ps -ef|grep vsftpd

2.安裝vsftpd服務器: rpm -ivh vsftpd-*.rpm 或從互聯網尋找對應資源直接安裝vsftpd:apt-get install vsftpd

3.測試

root@localhost root:~# ftp localhost
Connected to localhost.
220 (vsFTPd 2.2.2)
Name (localhost:root): root
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>bye
221 Goodbye.

4.vsftpd服務器的啓動、停止、重啓、狀態
  service vsftpd start        或./etc/init.d/vsftpd start
  service vsftpd stop        或./etc/init.d/vsftpd stop
  service vsftpd restart     或./etc/init.d/vsftpd restart
  service vsftpd status      或./etc/init.d/vsftpd status

5.vsftpd的三個主配置文件
  /etc/vsftpd.conf  //服務器的主配置文件
  /etc/ftpd.ftpusers  //此文件內的用戶都不能訪問vsftpd服務器
  /etc/vsftpd.user_list  //可能會被拒絕訪問服務喊叫或允許訪問

6.vsftpd.conf的配置參數
 anonymous_enable=YES  //啓用匿名用戶
 local_enable=YES  //允許本地用戶訪問vsftpd服務器
 write_enable=YES  //允許上傳
 download_enable=YES  //允許下載
 anon_upload_enable=YES  //允許匿名用戶上傳
 anon_mkdir_write_enable=YES //允許匿名用戶創建目錄和上傳
 anon_other_write_enable=NO //不允許匿名用戶刪除和改名
 local_max_rate=20000  //本地用戶的最大傳輸速率,單位是字節/秒
 anon_max_rate=5000  //匿名用戶的最大傳輸速率,單位是字節/秒
 local_umask=022   //去掉寫的權限
 file_open_mode=0666  //上傳文件的權限
 xferlog_enable=YES  //維護日誌文件,詳細記錄上傳和下載操作
 xferlog_std_format=YES  //傳輸日誌文件將以標準的xferlog格式書寫,日誌文件默 

    認爲/var/log/xferlog
 hide_ids=YES   //隱藏文件夾和目錄屬主
 port_enable=YES   //允許使用主動傳輸模式
 pasv_min_port=(1024<port<65535) //指定PASV模式可以使用的最小端口
 pasv_max_port=(1024<port<65535) //指定PASV模式可以使用的最大端口
 connect_from_port_20=YES //定義FTP傳輸數據的端口,默認是20
 ascii_download_enable=NO //設置不可使用ASCII模式下載
 listen=YES   //讓FTP工作在獨立模式下

 pam_service_name=vsftpd  //用戶配置文件認證
 userlist_enable=YES  
 tcp_wrappers=YES  //將使用wrappers作爲主機訪問控制方式
 idle_session_timeout=600 //表明空閒時間爲600秒
 data_connection_timeout=120 //表明數據連接超時時間爲120秒
 chroot_local_user=YES  //用戶登錄後不能訪問自己目錄以外的文件或目錄
 listen_port=4444  //修改FTP服務器的端口號

7.設置FTP服務器在3、5級別上自動運行

 chkconfig --level 3 5 vsftpd on

8.ftp客戶連接常見故障現象
  現象0:
 > ftp: connect :連接被拒絕
 原因: 服務沒啓動
 解決: # chkconfig vsftpd on

 現象1:
 500 OOPS: cannot open user list file
 原因: 不存在文件“/etc/vsftpd.user_list”或文件中不存在該帳戶
 解決: # echo username >> /etc/vsftpd.user_list

 現象2:
 530 Permission denied.
 Login failed.
 原因: “/etc/vsftpd.user_list”文件中不存在當前登陸用戶
 解決: # echo username >> /etc/vsftpd.user_list

 現象3:
 500 OOPS: cannot open chroot() user list file
 Login failed.
 原因: 不存在文件“/etc/vsftpd.chroot_list”
 解決: # echo username >> /etc/vsftpd.chroot_list

 現象4:
 500 OOPS: missing value in config file
 Connection closed by remote host.
 原因: “=”等號前值有問題,或只有一個空格
 解決: 修正相應的值即可,可能過 diff 來比較查找

 現象5:
 500 OOPS: bad bool value in config file
 Connection closed by remote host.
 原因: “=”等號後值有問題
 解決: 將“=”等號後值確認修改

 現象6:
 500 OOPS: unrecognised variable in config file
 Connection closed by remote host.
 原因: 參數前有空格
 解決: 將參數前空格刪除

 現象7、
 確認存在“local_enable=YES”,但本地用戶無法登陸
 原因: 驗證參數被誤刪除
 解決: 添加“pam_service_name=vsftpd”
 
 現象8、
 500 OOPS: chdir
 500 OOPS: child died
 Connection closed by remote host.
 原因: 用戶主目錄沒有權限或沒有主目錄
 解決: 正確設置用戶主目錄權限

9.vsftpd虛擬用戶賬號的設置步驟
 (1).建立虛擬用戶口令庫文件
  vi /pub/vu_list.txt
  wang5
  123
  zhao6
  456
 (2).生成vsftpd的認證文件
  db_load -T -t hash -f /pub/vu_list.txt /etc/vsftpd/vu_list.db
  chmod 600 /etc/vsftpd/vu_list.db
 (3).建立虛擬用戶所需的PAM配置文件
  vi /etc/pam.d/vsftpd.vu
  auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vu_list
  account required /lib/security/pam_userdb.so db=/etc/vsftpd/vu_list
 (4).建立虛擬用戶所要訪問的目錄並設置相應權限
  useradd ftpuser
 (5).設置vsftpd.conf配置文件
  guest_username=ftpuser
  pam_service_name=vsftpd.vu
 (6).重啓vsftpd服務器
  service vsftpd restart

10.對虛擬用戶設置不同權限
 (1).設置vsftpd.conf文件
  user_config_dir=/etc/vsftpd_vu
 (2).創建目錄
  mkdir /etc/vsftpd_vu
 (3).進入目錄進行編輯 
  cd /etc/vsftpd_vu
  vi wang5
  anon_world_readable_only=NO
  anon_upload_enable=YES
  anon_mkdir_write_enable=YES
  anon_other_write_enable=YES

  vi zhao6
  anon_world_readable_only=YES
  anon_upload_enable=NO
  anon_mkdir_write_enable=NO
  anon_other_write_enable=NO
 10.配置基於IP的虛擬ftp服務器
 (1).綁定其它IP
  ifconfig eth0:0 192.168.1.71
 (2).建立虛擬FTP服務器目錄
  mkdir -p /var/ftp2/pub1
 (3).創建虛擬服務器的匿名用戶所映射的本地用戶
  ftp2
  useradd -d /var/ftp2 -M ftp2
 (4).修改原獨立運行服務器的配置文件
  listen_address=192.168.1.70
 (5).複製生成虛擬服務器的主配置文件
  cp /etc/vsftpd.conf /etc/vsftpd/vsftpd2.conf
 (6).設定虛擬服務器的IP並使虛擬服務器的匿名用戶映射到本地用戶ftp2
  vi /etc/vsftpd/vsftpd2.conf
  pam_service_name=vsftpd
  listen_address=192.168.1.71
  ftp_username=ftp2
 (7).重啓服務生效:service vsftpd restart

 

DOS下使用ftp命令:

1. 切換到指定目錄下
2. 連接目標ftp服務器:ftp 10.137.97.29
3. 輸入帳號、密碼
4. 切換傳輸方式,二進制傳輸使用bin命令
5. 上傳文件:put test_setup.zip

    下載文件:get **.zip
6. 退出ftp:bye

7. cd 切換目錄

8. del 刪除文件

9. dir 查看遠程主機當前目錄

10. ascii 使用ascii方式傳輸文件

11. mput、mget: 將多個文件上傳、下載

12. mkdir 在遠程主機中建立目錄

13. pwd 顯示遠程主機的當前工作目錄路徑

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章