天天看点

Linux文件服务一,FTP Server二,NFS

一,FTP Server

1,图示

Linux文件服务一,FTP Server二,NFS
Linux文件服务一,FTP Server二,NFS

2,作用

提供文件共享服务

3,基础

FTP基础

FTP: 文件传输协议

软件包: vsftpd

FTP端口: 控制端口 command 21/tcp

数据端口 data 20/tcp (主动模式)

配置文件: /etc/vsftpd/vsftpd.conf

主目录:“/var/ftp/”FTP程序分享一个本机目录。

4,FTP Server 默认配置

==centos7==

# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

# yum -y install vsftpd

# touch /var/ftp/abc.txt

# systemctl start vsftpd

# systemctl enable vsftpd

默认firewalld/SELinux已关闭,如果未关闭:

# firewall-cmd --permanent --add-service=ftp

# firewall-cmd --reload

# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config

# setenforce 0

sed

^以什么开始

-i 写入到文件

/c是替换整行

5,FTP Clinet

5.1 LinuxFTP客户端程序1:lftp

lftp

[[email protected] ~]# yum -y install lftp

[[email protected] ~]# lftp 服务器的IP地址

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

lftp zhufo.top:/> mirror pub

get下载

mirror下载目录

5.2 LinuxFTP客户端程序2:wget

[[email protected] ~]# wget --help |less

[[email protected] ~]# wget ftp://172.16.8.100/kvm-manager-centos

[[email protected] ~]# wget ftp://172.16.8.100/kvm-manager-centos -P /tmp/

[[email protected] ~]# wget ftp://172.16.8.100/kvm-manager-centos -O /tmp/a.sh

[[email protected] ~]# wget http://nginx.org/download/nginx-1.10.2.tar.gz

[[email protected] ~]# wget -m ftp://zhufo.top/soft

-P 指定路径

-O 指定文件名和路径。

-m 下载目录

5.3 firefox,IE

firefox,IE

1 打开浏览器

2 输入“ftp://服务器IP地址"

默认使用匿名用户 ftp访问,HOME为/var/ftp,默认仅能下载文件

系统用户: alice,HOME /home/alice,默认可下载及上传

lftp [email protected]

6,常见基本配置(了解)

基本配置,例如实现访问控制 [了解]

注意: 指令中的空格,指令错误,指令重复

[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES //是否允许匿名用户登录ftp

local_enable=YES //是否允许本地用户登录alice

write_enable=YES //是否允许写(全局)

local_umask=022 //控制本地用户上传文件的默认权限,umask表示666要减掉的权限,默认没有执行。

chroot: 锁定本地用户HOME

方法一:部分用户chroot

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

vim   /etc/vsftpd/chroot_list

alice

然后alice就被锁定在了主目录中。

方法二:所有本地用户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 //控制匿名用户上传文件的默认权限 (注意另外6条配置)

anon_umask=077 //控制匿名用户上传文件的默认权限 ,请使用下方6条配置,开启匿名上传的权限。

要满足一下条件

local_enable=YES

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

#chmod 777 /var/ftp/

    ==============================================

从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。 要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者可以在vsftpd的配置文件中增加下列两项中的一项:

allow_writeable_chroot=YES

系统用户,默认既可以通过控制台登录系统。又可以通过网络(ftp)访问服务器。

为了安全起见,可以降低ftp用户权限。

vim /etc/passwd

alice:x:1000:1000::/home/alice:/bin/bash

改为

alice:x:1000:1000::/home/alice:/sbin/nologin

7,案例分析

目标通过FTP搭建YUM源服务器

服务器

挂载centos镜像

[[email protected] ~]#yum install vsftp

[[email protected] ~]#systemctl start vsftp

[[email protected] ~]#systemctl stop firewalld

[[email protected] ~]# mkdir /var/ftp/centos7

[[email protected] ~]# mount  /dev/sr0   /var/ftp/centos7

[[email protected] ~]# df -hT

/dev/sr0                iso9660   4.3G  4.3G     0  100% /var/ftp/centos7

[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf

anon_root=/var/ftp/

客户机

[[email protected] ~]# mv /etc/yum.repos.d/* /tmp    //备份默认源

[[email protected] ~]# vim /etc/yum.repos.d/centos7.repo //指向基础源

[my-centos7]

name=my-centos7

baseurl=ftp://x.x.x.x/centos7u2

gpgcheck=0

[[email protected] ~]# yum repolist    //看到YUM即可。

二,NFS

1,名词解释

NFS:Network File System 网络文件系统,Linux/Unix系统之间共享文件的一种协议

NFS 的客户端主要为Linux

支持多节点同时挂载以及并发写入

2,作用

提供文件共享服务

为集群中的 Web Server 配置后端存储

3,案例分析

3.1 环境需求

nas 192.168.122.241

web1 192.168.122.150

web2 192.168.122.8

web3 192.168.122.194

nas web1 web2 web3

# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config

# setenforce 0

centos7

# systemctl stop firewalld

# systemctl disable firewalld

centos6关闭防火墙请使用下列命令

# iptables -F

# service iptables save

3.2 nas(存储端)

一、nas(存储端)

[[email protected] ~]# yum -y install nfs-utils

[[email protected] ~]# mkdir /webdata //存储网站代码

[[email protected] ~]# echo "nfs test..." > /webdata/index.html

[[email protected] ~]# vim /etc/exports

/webdata              192.168.122.0/24(rw)

[[email protected] ~]# systemctl start nfs-server

[[email protected] ~]# systemctl enable nfs-server

[[email protected] ~]# exportfs -v

/webdata 192.168.122.0/24(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

[[email protected] ~]# vim /etc/exports

/webdata 192.168.122.0/24(rw,sync,no_root_squash)

 //不压制root(当client端使用root挂载时,也有root权限)

//默认是压制root,及时你用root登录,也没有root权限,因为被压制,为了安全。

3.3 web1 web2 web3 客户端

web1 web2 web3 客户端

以web1为例:

[[email protected] ~]# yum -y install nfs-utils httpd

[[email protected] ~]# systemctl start httpd

[[email protected] ~]# systemctl enable httpd

1. 查看存储端共享 [可选]

[[email protected] ~]# showmount -e 192.168.122.241    // 查询NFS服务器可用目录

Export list for 192.168.122.241:

/webdata 192.168.122.0/24

2. 手动挂载 [可选]

[[email protected] ~]# mount -t nfs 192.168.122.241:/webdata /var/www/html/

[[email protected] ~]# umount /var/www/html/

3. 自动挂载到网站主目录

[[email protected] ~]# vim /etc/fstab

192.168.122.241:/webdata /var/www/html nfs defaults 0 0

[[email protected] ~]# mount -a

4. 查看挂载

[[email protected] ~]# df

192.168.122.152:/webdata 7923136 692416 6821568 10% /var/www/html

[[email protected] ~]# ls /var/www/html/

index.html

5. web2 web3同上

如果希望web能修改NFS中的内容,请取消压制root,重启nas服务,重新挂载。

3.4 测试网络访问

# firefox 192.168.122.85

# firefox 192.168.122.111

# firefox 192.168.122.166

以上的IP可以根据自己的IP网段随意选择

继续阅读