一、FTP服务
1.作用:提供文件共享服务
2.FTP基础
FTP:文件传输协议
软件包:vsftpd
FTP端口:控制端口 command 21/tcp
数据端口 data 20/tcp (主动模式)
配置文件:/etc/vsftpd/vsftpd.conf
主目录: “/var/ftp” FTP程序默认分享的一个本机目录
3.FTP Server 默认配置(安装、启动、关防火墙)
#yum -y install vsftpd -----安装ftp服务
#touch /var/ftp/abc.txt ----在ftp的默认分享目录创建一个文件
#systenctl start vsftpd ----开启ftp服务
#systemctl enable vsftpd -----设置开机自启ftp服务
#systemctl stop firewall ----关闭防火墙
#setenforce 0 ----关闭linux下的防火墙(selinux 防火墙)
4.FTP Clinet 配置
默认使用匿名用户 ftp访问,HOME为/var/ftp,默认仅能下载文件
系统用户: bijz,HOME /home/alice,默认可下载及上传
(1)LinuxFTP客户端程序1: lftp(下载工具)
#yum -y install lftp -----安装lftp服务
#lftp 10.18.41.22 -----用默认ftp用户进入FTP服务器 (#lftp [email protected] ----用bjz这个用户登录FTP服务)
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 abc.txt
lftp zhufo.top:/> get abc.txt ------下载txt文件
lftp zhufo.top:/> mirror pub -------下载pub文件夹
(2)LinuxFTP客户端程序2: wget(下载工具)
wget ftp://10.18.41.22/abc.txt
wget ftp://10.18.41.22/abc.txt -P /tmp ----指定下载后的存放路径
wget ftp://10.18.41.22/abc.txt -O /tmp/123.txt ------指定下载后的存放路径并改名为123.txt
wget -m ftp://10.18.41.22/soft/abc.txt ------指定下载目录
5.基本配置,实现访问控制
(1)#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES //是否允许匿名用户登录ftp
local_enable=YES //是否允许本地用户登录alice
write_enable=YES //是否允许写(全局)
local_umask=022 //控制本地用户上传文件的默认权限,umask表示666要减掉的权限,默认没有执行。
(2)chroot:
锁定本地用户HOME,用户进入FTP服务器后只能在自己的家目录中下载上传文件,而不能cd到其他目录
方法一: 部分用户chroot
#vim /etc/vsftpd/vsftpd.con
在打开的文档中添加:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
#vim /etc/vsftpd/chroot_list
bijz
#chmod -w /home/bijz //用户对家目录要减掉W权限。
或在/etc/vsftpd/vsftpd.con文档中添加
allow_writeable_chroot=YES
把bijz用户名加入到/etc/vsftpd/chroot_list中,bijz用户就被锁定在主目录中了
方法二:所有本地用户chroot,被限制在家目录中
chroot_local_user=YES
#chmod -w /home/alice //用户对家目录要减掉W权限。
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目录
anon_umask=077 //控制匿名用户上传文件的默认权限
系统用户,默认既可以通过控制台登录系统。又可以通过网络(ftp)访问服务器。
为了安全起见,可以降低ftp用户权限。(只允许该用户zhao网络通过ftp访问服务器,不能通过控制台登录系统)
#usermod -s /sbin/nologin zhao
6.通过FTP搭建YUM源服务器
(1)服务器设置
在服务器上挂载centos镜像
#yum -y install vsftpd
#systemctl start vsftpd
#systemctl stop firewalld
#mkdir /var/ftp/centos7
#mount /dev/sr0 /var/ftp/centos7
#df -hT----查看挂载
注意:查看匿名用户的默认访问目录是否是默认的/var/ftp,
# vim /etc/vsftpd/vsftpd.conf
anon_root=/var/ftp ----默认不需要自己手动添加这一条
(2)在客户机上
#mv /etc/yum.repos.d/* /tmp -----清空已存在的YUM源
#vim /etc/yum.repos.d/centos7.repo
[my-centos7]
name=my-centos7
baseurl=ftp://服务器IP/centos7
gpgcheck=0
#yum repolist ----查看可用的YUM 仓库
二、NFS服务
1.简介
NFS:Network File System 网络文件系统,Linux/Unix系统之间共享文件的一种协议
NFS 的客户端主要为Linux
支持多节点同时挂载以及并发写入
2.作用
提供文件共享服务
为集群中的 Web Server 配置后端存储
3.配置例题NFS
(1)配置环境
配置IP:
NAS服务器:10.18.41.22
web服务器1:10.18.41.100
web服务器2:10.18.41.100
web服务器3:10.18.41.100
全部关闭防火墙:
#systemctl stop firewalld
#systemctl disable firewalld
全部关闭内部防火墙
#setenforce 0 -----查看命令:getenforce
#vim /etc/sysconfig/selinux
SELINUX=disabled
(2)nas(存储端配置)网络连接式存储(NAS:Network Attached Storage网络附加存储)
#yum -y install nfs-utils -----安装NFS服务需要的软件
#mkdir /webdata -----创建一个存储网站代码的文件夹
#echo wangzhanceshi > /webdata/index.html -----把代码重定向到新建的网页主页中
#vim /etc/exports ----NFS输出文件系统表
/webdata 10.18.41.0/24(rw,sync,no_root_squash) ----这个网段的可以收到这个分享的目录
##解释##
no_root_squash
//不压制root(当client端使用root挂载时,也有root权限)
//默认是压制root,及时你用root登录,也没有root权限,因为被压制,为了安全##
#systemctl start nfs-server
#systemctl enable nfs-server
#exportfs -v -----查看NFS输出的文件
/webdata 10.18.41.0/24(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
(3)web1 web2 web3 客户端配置
以web1为例:
#yum -y install nfs-utils httpd
#systenctl start httpd
#systemctl enable httpd
查询NFS服务器可用的目录
#showmount -e 10.18.41.22
Export list for 10.18.41.22:
/webdata 10.18.41..0/24
手动挂载 [可选]
[root@web1 ~]# mount -t nfs 10.18.41.22:/webdata /var/www/html/[root@web1 ~]# umount /var/www/html/
自动挂载到网站主目录
[root@web1 ~]# vim /etc/fstab
10.18.41.22:/webdata /var/www/html nfs defaults 0 0
[root@web1 ~]# mount -a
查看挂载
#df -hT