欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

FTP服务器的搭建

程序员文章站 2022-06-21 16:26:37
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服务器的搭建

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 alice@zhufo.top
password:
lftp alice@zhufo.top:~> ls
-rw-r--r-- 1 0 0 1523 nov 22 04:25 alice.txt
lftp alice@zhufo.top:~> pwd
ftp://alice@zhufo.top/%2fhome/alice
lftp alice@zhufo.top:~> 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