美文网首页运维大世界
第16章 文件服务

第16章 文件服务

作者: fe8478c7ba2a | 来源:发表于2018-04-17 20:29 被阅读7次
        作用
            提供文件共享服务
    

    基础

        一、FTP基础
            FTP: 文件传输协议
            软件包: vsftpd
            FTP端口: 控制端口 command 21/tcp 
            数据端口 data 20/tcp (主动模式)
            配置文件: /etc/vsftpd/vsftpd.conf
            主目录:“/var/ftp/”FTP程序分享一个本机目录。
        FTP Server 默认配置
            ==centos7==
                ==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是替换整行
    
    FTP Clinet:
    LinuxFTP客户端程序1:lftp
            lftp
            [root@tianyun ~]# yum -y install lftp
            [root@tianyun ~]# 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下载目录
    
    LinuxFTP客户端程序2:wget
                [root@tianyun ~]# wget --help |less
            [root@tianyun ~]# wget ftp://172.16.8.100/kvm-manager-centos
            [root@tianyun ~]# wget ftp://172.16.8.100/kvm-manager-centos -P /tmp/
            [root@tianyun ~]# wget ftp://172.16.8.100/kvm-manager-centos -O /tmp/a.sh
            [root@tianyun ~]# wget http://nginx.org/download/nginx-1.10.2.tar.gz
            [root@tianyun ~]# wget -m ftp://zhufo.top/soft
    
                    -P 指定路径
            -O 指定文件名和路径。
            -m 下载目录
      
        firefox,IE
            1 打开浏览器
    
            2 输入“ftp://服务器IP地址"
    
            默认使用匿名用户 ftp访问,HOME为/var/ftp,默认仅能下载文件
            系统用户: alice,HOME /home/alice,默认可下载及上传
            lftp alice@192.168.122.152
    
    常见基本配置 [了解]
        基本配置,例如实现访问控制 [了解]
            注意: 指令中的空格,指令错误,指令重复
            [root@tianyun ~]# 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
            vanon_mkdir_write_enable=YES
            vanon_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
    
     案例1
               实现目标1:提供光盘基础软件Base
                  服务器
                    挂载centos镜像
            [root@localhost ~]#yum install vsftp
            [root@localhost ~]#systemctl start vsftp
            [root@localhost ~]#systemctl stop firewalld
            [root@localhost ~]# mkdir /var/ftp/{centos6u6,centos7u2}
            [root@localhost ~]# mount  /dev/sr0   /var/ftp/centos7u2
                客户机
                    [root@client ~]# mv /etc/yum.repos.d/* /tmp //备份默认源
            [root@client ~]# vim /etc/yum.repos.d/centos7.repo //指向基础源
            [my-centos7]
            name=my-centos7
            baseurl=ftp://x.x.x.x/centos7u2
            gpgcheck=0
            [root@client ~]# yum repolist   //看到YUM即可。
    
    NFS
        名词解释
            NFS:Network File System 网络文件系统,Unix系统之间共享文件的一种协议
    

    NFS 的客户端主要为Linux
    支持多节点同时挂载以及并发写入

        作用
            提供文件共享服务
            为集群中的 Web Server 配置后端存储
    
    案例
            环境
            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
    
            # vim /etc/hosts [可选] [可以使用域名代替IP访问]
            192.168.122.241 nas
            192.168.122.150 web1
            192.168.122.8 web2
            192.168.122.194 web3
    
                    centos6关闭防火墙请使用下列命令
            # iptables -F
            # service iptables save
    
    nas(存储端)
        一、nas(存储端)
            [root@nas ~]# yum -y install nfs-utils
            [root@nas ~]# mkdir /webdata //存储网站代码
            [root@nas ~]# echo "nfs test..." > /webdata/index.html
    
            [root@nas ~]# vim /etc/exports
            /webdata              192.168.122.0/24(rw) 
    
            [root@nas ~]# systemctl start nfs-server
            [root@nas ~]# systemctl enable nfs-server
            [root@nas ~]# 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)
    
        [root@nas ~]# vim /etc/exports
            /webdata 192.168.122.0/24(rw,sync,no_root_squash)
             //不压制root(当client端使用root挂载时,也有root权限)
            //默认是压制root,及时你用root登录,也没有root权限,因为被压制,为了安全。
            web1 web2 web3 客户端
        二、web1 web2 web3 客户端
            以web1为例:
            [root@web1 ~]# yum -y install nfs-utils httpd
            [root@web1 ~]# systemctl start httpd
            [root@web1 ~]# systemctl enable httpd
    
            1. 查看存储端共享 [可选]
            [root@web1 ~]# showmount -e 192.168.122.241
            Export list for 192.168.122.241:
            /webdata 192.168.122.0/24
    
            2. 手动挂载 [可选]
            [root@web1 ~]# mount -t nfs 192.168.122.241:/webdata /var/www/html/
            [root@web1 ~]# umount /var/www/html/
    
            3. 自动挂载到网站主目录
            [root@web1 ~]# vim /etc/fstab
            192.168.122.241:/webdata /var/www/html nfs defaults 0 0
            [root@web1 ~]# mount -a
    
            4. 查看挂载
            [root@web1 ~]# df
            192.168.122.152:/webdata 7923136 692416 6821568 10% /var/www/html
            [root@web1 ~]# ls /var/www/html/
            index.html
    
            5. web2 web3同上
    
                    如果希望web能修改NFS中的内容,请取消压制root,重启nas服务,重新挂载。
        三、测试网站访问
                三、测试网站访问
            # firefox 192.168.122.85
            # firefox 192.168.122.111
            # firefox 192.168.122.166
    

    相关文章

      网友评论

        本文标题:第16章 文件服务

        本文链接:https://www.haomeiwen.com/subject/nggpkftx.html