ftp服務

一、 ftp的定義

ftp:// ##文件傳輸協議
爲internet上如今最常用的最老的網絡協議之一,它爲系統提供了通過網絡與遠程服務器進行傳輸的簡單方法。
載RED HAT ENTERPRISE LINUX6中,FTP 服務器包的名稱爲 VSFTPD ,它代表Very Secure File TransferProtocol Damon 服務器名稱也叫做 vsftpd
默認配置文件讓 ANONYMOUS 用戶只能用於下載位於 CHROOT 目錄的內容。/var/ftp/這意味着遠程 FTP 客戶端能以用戶 anonymous 或 ftp 身份連接到服務器(無需密碼),並從 ftp 服務器上的 /var/ftp/ 目錄下載文件(其本地 ftp 用戶可以讀取這些文件)

二、 ftp協議提供的軟件

*地址:http://172.25.254.93/rhel7.2
注:其爲鏡像軟件,地址也爲自行設定
*軟件:vsftpd

三、 部署ftp服務

*前期準備操作:
[root@server ~]# vim /etc/yum.repos.d/rhel_dvd.repo  ##yum 源指定

[root@server ~]# vim /etc/sysconfig/selinux  ##設置爲disable模式

[root@server ~]# reboot  ##重啓
查看其配置文件是否更改之法:
[root@server vsftpd]# getenforce
Disabled

*ftp部署過程:
>>yum clean all        ##清除日誌--當更改好yum源指定後,無法正常安裝軟件,可用此命令
>>yum install vsftpd -y    ##安裝vsftpd服務
>>systemctl start vsftpd     ##開啓vsftpd服務
>>systemctl enable vsftpd     ##設置服務爲開機啓動
>>firewall-cmd --permanent --add-service=ftp 
    firewall-cmd --reload      ##在防火牆中加入ftp策略
>安裝lftp

yum install lftp -y


四、 ftp服務的基本信息

>軟件安裝包:    vsftpd
>默認發佈目錄:    /var/ftp
>協議接口:    21/tcp
查看方式:
[root@server ~]# ss -antple | grep vsftpd
LISTEN     0      32                       :::21                      :::*      users:(("vsftpd",2903,3)) ino:53573 sk:ffff880022fb6000 <->
>服務配置文件:    /etc/vsftpd/vsftpd.conf
>報錯id解析:
550表示服務本身不允許該動作--更改配置文件/...
553本地文件系統對你無權力--更改文件權限。
530表示登陸失敗即用戶認證失敗--密碼錯誤
500文件系統權限過大--解決:例chmod 755 /var/ftp/

五、用戶權限的設置

更改在配置文件:
vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd.service


**匿名用戶**
>anonymous_enable=YES|NO  ##匿名用戶是否可以登陸ftp服務器 
實操:
更改前,在匿名用戶登陸ftp服務顯示:

注:表示可以登陸
更改後

注:表示不可以登陸

**本地用戶**
>local_enable=YES   ##本地用戶是否可以登陸
>write_enable=YES   ##ftp是否對登陸可寫
附:
1)本地用戶登陸方式
lftp 172.25.254.218 -u student
2)本地用戶只能上傳文件,不可建立文件
關於其以上命令,大家可自行驗證。

1. 匿名用戶上傳

>vim /etc/vsftpd/vsftpd.conf
  write_enable=YES
  anon_upload_enable=YES
(取消註釋)
>systemctl restart vsftpd.service 
>chgrp ftp /var/ftp/pub
>chmod 775 /var/ftp/pub

**制定匿名用戶家目錄修改**
>anon_root=/directory

實操:

1)配置文件更改如下:

2)錯誤排查

*狀況:

[kiosk@foundation93 Desktop]$ lftp 172.25.254.10lftp 172.25.254.10:~> ls
lftp 172.25.254.10:/> put /etc/passwd
put: Access failed: 553 Could not create file. (passwd) -->553表示文件的權限不



*解決1:

[root@server pub]# chmod 777 /westos此種方法對於系統來說安全度不夠


*解決2:


[root@server westos]# chgrp ftp /westos[root@server westos]# chmod 775 /westos



3)結果如下:

[root@server westos]# ls /westos passwd



**匿名用戶上傳文件默認權限**
anon_umask=xxx
實操:
1)配置文件更改如下:

2)結果如下:


**匿名用戶建立目錄**
anon_mkdir_write_enable=YES|NO(取消註釋)
注:只能建立目錄

**匿名用戶下載**
anon_world_readable_only=YES|NO    ##設定參數值爲no表示匿名用戶可以下載


**匿名用戶刪除**
anon_other_write_enable=YES|NO


**匿名用戶使用的用戶身份修改**
chown_uploads=YES
chown_username=student

(以上兩個更改方式:取消註釋)

**最大上傳速率**
anon_max_rate=102400

**最大鏈接數**
max_clients=2


2. 本地用戶設定

local_enable=YES|NO
write_enable=YES|NO

1)本地用戶家目錄修改

local_root=/directory

注:若要在指定家目錄(/westos)中建立文件需要更改指定家目錄/westos權限

2)本地用戶上傳文件權限

local_umask=xxx

3)限制本地用戶瀏覽/目錄

所有用戶被鎖定到自己的家目錄中
chroot_local_user=YES(取消註釋)
chmod u-w /home/*

*用戶黑名單建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
(之上更改方式爲取消註釋)


*用戶白名單建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

4)限制本地用戶登陸

vim /etc/vsftpd/ftpusers    ##用戶黑名單
vim /etc/vsftpd/user_list    ##用戶臨時黑名單

用戶白名單設定
userlist_deny=NO
/etc/vsftpd/user_list
    ##參數設定,此文件變成白名單,只在白名單中出現的用戶可以登陸ftp



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