Linux系統ftp服務

ftp簡介

FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱爲“文傳協議”。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上傳"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。 
簡單地說,支持FTP協議的服務器就是FTP服務器。
與大多數Internet服務一樣,FTP也是一個客戶機/服務器系統。用戶通過一個支持FTP協議的客戶機程序,連接到在遠程主機上的FTP服務器程序。用戶通過客戶機程序向服務器程序發出命令,服務器程序執行用戶所發出的命令,並將執行的結果返回到客戶機。比如說,用戶發出一條命令,要求服務器向用戶傳送某一個文件的一份拷貝,服務器會響應這條命令,將指定文件送至用戶的機器上。客戶機程序代表用戶接收到這個文件,將其存放在用戶目錄中。

一、FTP的安裝

1.安裝的環境配置

1設置網絡
[root@ftp-server yum.repos.d]# vim /etc/sysconfig/network-scripts/ifcfg-eth0       ##設置靜態網絡如下
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
IPADDR=172.25.254.127
NETMASK=255.255.255.0

[root@ftp-server yum.repos.d]# systemctl restart network ##重啓網絡
[root@ftp-server yum.repos.d]# ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.25.254.127  netmask 255.255.255.0  broadcast 172.25.254.255

這裏寫圖片描述

這裏寫圖片描述

2.配置yum源

[root@server27 Desktop]# cd /etc/yum.repos.d/
[root@server27 yum.repos.d]# ls
rhel_dvd.repo
[root@server27 yum.repos.d]# vim rhel_dvd.repo 
gpgcheck = 0
enabled = 1
baseurl = http://172.25.254.250/rhel7
name = Remote classroom copy of dvd
[root@server27 yum.repos.d]# yum clean all
Loaded plugins: langpacks
Cleaning repos: rhel_dvd
Cleaning up everything

這裏寫圖片描述

3.火牆策略
[root@server27 yum.repos.d]# firewall-config 
[root@server27 yum.repos.d]# vim /etc/sysc
sysconfig/   sysctl.conf  sysctl.d/    
selinux
[root@server27 yum.repos.d]# vim /etc/sysconfig/selinux 

SELINUX=disabled
[root@server27 yum.repos.d]# getenforce
Enforcing
[root@server27 yum.repos.d]# reboot^C   ##selinux服務需要重啓電腦才能生效

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述


2.安裝ftp

yum install vsftpd  -y
systemctl start vsftpd 
systemctl stop firewalld 
systemctl enable vsftpd 
setenforce 0
lftp ip             ##能登陸並且顯示,表示安裝成功
3.vsftpd文件信息
/var/ftp                ##默認發佈目錄
/etc/vsftpd             ##配置目錄

4.vsftpd服務的配置參數

這裏寫圖片描述

這裏寫圖片描述

1)匿名用戶設定

<匿名用戶登陸限制>
anonymous_enable=YES|NO
這裏寫圖片描述

<匿名用戶上傳>
vim /etc/vsftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
這裏寫圖片描述

這裏寫圖片描述
<匿名用戶家目錄修改>
anon_root=/direcotry
這裏寫圖片描述
<匿名用戶上傳文件默認權限修改>
anon_umask=xxx

<匿名用戶建立目錄>
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

<本地用戶家目錄修改>
local_root=/directory
這裏寫圖片描述
<本地用戶上傳文件權限>
local_umask=xxx

<限制本地用戶瀏覽/目錄>
所有用戶被鎖定到自己的家目錄中
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

這裏寫圖片描述
<限制本地用戶登陸>
vim /etc/vsftpd/ftpusers ##用戶黑名單
vim /etc/vsftpd/user_list ##用戶臨時黑名單
userlist_deny=NO
/etc/vsftpd/user_list ##參數設定,此文件變成用戶白名單,只在名單中出現的用戶可以登陸ftp

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

3)ftp虛擬用戶的設定

創建虛擬帳號身份)
vim /etc/vsftpd/hello##文件名稱任意
usr1
1234
usr1
1234
db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db

2)指定加密
vim /etc/pam.d/helo123##文件名稱任意
account     required    pam_userdb.so   db=/etc/vsftpd/hello
auth        required    pam_userdb.so   db=/etc/vsftpd/hello

vim /etc/vsftpd/hello.conf
pam_service_name=hello
guest_enable=YES

虛擬帳號身份指定)
guest_username=ftp

虛擬帳號家目錄獨立設定)
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/$USR
user_sub_token=$USR

mkdir /ftpuserhome
chgrp ftpuser /ftpuserhome
chmod g+s /ftpuserhome
mkdir /ftpuserhome/ftpuser{1..3}


虛擬帳號配置獨立)
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf

vim /etc/vsftpd/userconf/hello1
在此文件中設定配置文件中的所有參數,此文件的優先級高
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章