Linux基础学习之从入门到精通Day16
Linux的文件共享服务
FTP Server
一、FTP基础
FTP: 文件传输协议
软件包: vsftpd
FTP端口: 控制端口 command 21/tcp
数据端口 data 20/tcp (主动模式)
配置文件: /etc/vsftpd/vsftpd.conf
二、vsftpd默认配置
FTP Server
[root@~]# yum -y install vsftpd
[root@~]# service vsftpd restart
[root@~]# chkconfig vsftpd on
1. SELinux
[root@~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
[root@~]# setenforce 0
- Iptables [暂关]
[root@~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@~]# yum -y install vsftpd
[root@~]# touch /var/ftp/yang.txt
[root@~]# systemctl start vsftpd
[root@~]# systemctl enable vsftpd
默认firewalld/SELinux已关闭,如果未关闭:
[root@~]# firewall-cmd --permanent --add-service=ftp
[root@~]# firewall-cmd --reload
[root@~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
[root@~]# setenforce 0
FTP默认共享目录:/var/ftp
FTP Clinet:
lftp
[root@~]# yum -y install lftp
[root@~]# 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@~]# wget --help |less
[root@~]# wget ftp://10.18.40.100/kvm-manager-centos
[root@~]# wget ftp://10.18.40.100/kvm-manager-centos -P /tmp/ ---
[root@~]# wget ftp://10.18.40.100/kvm-manager-centos -O /tmp/a.sh ---指定路径下载
[root@~]# wget http://nginx.org/download/nginx-1.10.2.tar.gz ---下载互联网的包
[root@~]# wget -m ftp://zhufo.top/soft ---指定文件夹下载
[root@~]# 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@~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES //是否允许匿名用户登录ftp
anon_upload_enable=YES //允许FTP用户上传文件
anon_mkdir_write_enable=YES //启动创建目录的能力
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目录
案例1: 使用FTP共享YUM源
Server:
[root@~]# mkdir /var/ftp/{centos6u8,centos7u3}
[root@~]# mount -o loop /home/centos7u3.iso /var/ftp/centos7u3
[root@~]# echo “mount -o loop /home/centos7u3.iso /var/ftp/centos7u3” >> /etc/rc.local
[root@~]# chmod +x /etc/rc.d/rc.local
Client:
[root@~]# vim /etc/yum.repos.d/centos7.repo
[centos7u3]
name=centos7u3
baseurl=ftp://10.18.40.100/centos7u3
gpgcheck=0