FTP Server 作用:提供文件共用服務 一、FTP基礎 FTP: 文件傳輸協議軟體包: vsftpdFTP埠: 控制埠 command 21/tcp 數據埠 data 20/tcp (主動模式)配置文件: /etc/vsftpd/vsftpd.conf 二、vsftpd預設配置 FTP ...
FTP Server
作用:提供文件共用服務
一、FTP基礎
FTP: 文件傳輸協議
軟體包: vsftpd
FTP埠: 控制埠 command 21/tcp
數據埠 data 20/tcp (主動模式)
配置文件: /etc/vsftpd/vsftpd.conf
二、vsftpd預設配置
FTP Server
==centos7==
[root@CentOS7~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@CentOS7~]# yum -y install vsftpd
[root@CentOS7~]# touch /var/ftp/yang.txt
[root@CentOS7~]# systemctl start vsftpd
[root@CentOS7~]# systemctl enable vsftpd
預設firewalld/SELinux已關閉,如果未關閉:
[root@aliyun ~]# firewall-cmd --permanent --add-service=ftp
[root@aliyun ~]# firewall-cmd --reload
[root@aliyun ~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
[root@aliyun ~]# setenforce 0
這裡有幾個問題,CentOS7 安裝好vsftpd之後 配置文件預設開啟了一些校驗, 可能我們訪問的時候就會出現 500 OOPS: vsftpd: cannot locate user specified in 'guest_username':vsftpd 的錯誤,基於Windows CMD訪問的情況下,在瀏覽器上,就預設要求登錄
關閉訪問登錄(#註釋)
#guest_enable=YES
#guest_username=vftpuser
開啟匿名模式:
anonymous_enable=YES
FTP預設共用目錄:/var/ftp
FTP Clinet:
lftp
[root@CentOS7~]# yum -y install lftp
[root@CentOS7~]# lftp zhufo.top
lftp zhufo.top:~> ls
drwxr-xr-x 2 0 0 4096 Mar 31 2016 pub
-rw-r--r-- 1 0 0 0 Nov 22 03:53 yang.txt
lftp zhufo.top:/> get yang.txt
lftp zhufo.top:/> mirror pub
wget
[root@CentOS7~]# wget --help |less
[root@CentOS7~]# wget ftp://172.16.8.100/kvm-manager-centos
[root@CentOS7~]# wget ftp://172.16.8.100/kvm-manager-centos -P /tmp/
[root@CentOS7~]# wget ftp://172.16.8.100/kvm-manager-centos -O /tmp/a.sh
[root@CentOS7~]# wget http://nginx.org/download/nginx-1.10.2.tar.gz
[root@CentOS7~]# wget -m ftp://zhufo.top/soft
firefox,IE
[root@CentOS7~]# lftp [email protected]
Password:
lftp [email protected]:~> ls
-rw-r--r-- 1 0 0 1523 Nov 22 04:25 alice.txt
lftp [email protected]:~> pwd
ftp://[email protected]/%2Fhome/alice
lftp [email protected]:~> put /etc/hosts
預設使用匿名用戶 ftp訪問,HOME為/var/ftp,預設僅能下載文件
系統用戶: alice,HOME /home/alice,預設可下載及上傳
========================================================
三、基本配置,例如實現訪問控制 [瞭解]
註意: 指令中的空格,指令錯誤,指令重覆
[root@CentOS7~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES //是否允許匿名用戶登錄ftp
local_enable=YES //是否允許本地用戶登錄alice
write_enable=YES //是否允許寫(全局)
local_umask=022 //控制本地用戶上傳文件的預設許可權,umask表示要減掉的許可權
anon_umask=077 //控制匿名用戶上傳文件的預設許可權
chroot: 鎖定本地用戶HOME
方法一:部分用戶chroot
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
方法二:所有本地用戶chroot
chroot_local_user=YES
anon_max_rate=500000 //匿名用戶限速
local_max_rate=80000 //本地用戶限速
max_clients=500 //ftp最大連接數
max_per_ip=2 //單個IP最大連接數,線程數
local_root=/ftproot //指定本地用戶訪問的root目錄
anon_root=/anonroot //指定匿名用戶訪問的root目錄
使用FTP共用YUM源
Server:
[root@yangs ~]# mkdir /var/ftp/{centos6u6,centos7u2}
[root@yangs ~]# mount -o loop /home/centos7u2.iso /var/ftp/centos7u2
[root@yangs ~]# echo “mount -o loop /home/centos7u2.iso /var/ftp/centos7u2” >> /etc/rc.local
[root@yangs ~]# chmod +x /etc/rc.d/rc.local
Client:
[root@CentOS7~]# vim /etc/yum.repos.d/centos7.repo
[centos7u2]
name=centos6u6
baseurl=ftp://172.16.8.100/centos7u2
gpgcheck=0
從2.3.5之後,vsftpd增強了安全檢查,如果用戶被限定在了其主目錄下,則該用戶的主目錄
不能再具有寫許可權了!如果檢查發現還有寫許可權,就會報該錯誤。 要修複這個錯誤,可以用
命令chmod a-w /home/user去除用戶主目錄的寫許可權,註意把目錄替換成你自己的。或者可
以在vsftpd的配置文件中增加下列兩項中的一項:
allow_writeable_chroot=YES