Linux的ftp安裝及使用

不一樣的天空w發表於2017-02-12

 

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

++++++++++++++++++++++++++++

可以透過配置yum進行線上安裝包.

[root@szmspv1 yum.repos.d]# pwd
/etc/yum.repos.d
[root@szmspv1 yum.repos.d]# more rhel54.repo
[Server]
name=Red Hat Enterprise Linux Server
baseurl=ftp://172.26.0.11/Server64/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

+++++++++++++++++++++++++++++++++++++++++++++++++

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 顯示遠端主機的當前工作目錄路徑

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2133428/,如需轉載,請註明出處,否則將追究法律責任。

相關文章