• Linux基础系列-Day7


    NFS服务(基于CentOS 7.0)

    NFS(Network File System),网络文件系统,是linux与linux之间进行文件共享的服务,在NFS应用,本地NFS的客户端可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

    安装服务

    [root@nfs-server ~]# yum install nfs-utils rpcbind -y

    服务配置

    NFS服务安装后,并没有任何共享配置,需要自己新建一个目录进行共享

    [root@nfs-server ~]# echo "/share *(sync,rw)"  >> /etc/exports  #/share是共享的目录,*表示所有可访问该共享的ip,可以写一个ip地址或者网络,sync表示同步类型,rw表示访问权限
    [root@nfs-server ~]# mkdir /share/    #创建目录

    共享参数说明(绿色常用):

      ro                      只读访问

      rw                      读写访问 

      sync                    所有数据在请求时写入共享 

      async                  在写入数据前可以相应请求

      hide                    在NFS共享目录中不共享其子目录

      no_hide                 共享NFS目录的子目录 

      secure                  NFS通过1024以下的安全TCP/IP端口发送 

      insecure                NFS通过1024以上的端口发送 

      wdelay                  如果多个用户要写入NFS目录,则归组写入(默认) 

      no_wdelay               如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。 

      subtree_check           如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认) 

      no_subtree_check        和上面相对,不检查父目录权限 

      all_squash              共享文件的UID和GID映射匿名用户anonymous,适合公用目录

      no_all_squash           保留共享文件的UID和GID(默认) 

      root_squash             root用户的所有请求映射成如anonymous用户一样的权限(默认) 

      no_root_squas           root用户具有根目录的完全管理访问权限 

      anonuid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的UID 

      anongid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的GID 

    启动服务

    nfs服务共享是通过rpc协议共享,所以需要同时开放nfs和rpc的防火墙访问

    [root@nfs-server ~]# firewall-cmd --permanent --add-service=nfs 
    success
    [root@nfs-server ~]# firewall-cmd --reload 
    success
    [root@nfs-server ~]# firewall-cmd --permanent --add-service=rpc-bind
    success
    [root@nfs-server ~]# firewall-cmd --reload
    success
    [root@nfs-server ~]# systemctl start nfs-server
    [root@nfs-server ~]# systemctl enable nfs-server
    ln -s '/usr/lib/systemd/system/nfs-server.service' '/etc/systemd/system/nfs.target.wants/nfs-server.service'

    服务验证

    查询服务端的共享点

    [root@nfs-client ~]# showmount -e 192.168.1.10  #前提是服务器端防火墙放行mountd服务
    Export list for 192.168.1.10:
    /share *

    客户端挂载共享点

    [root@nfs-client ~]# mount 192.168.1.10:/share /mnt      #挂载nfs共享的目录
    [root@nfs-client ~]# df -hT
    Filesystem              Type      Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root xfs        48G  4.7G   44G  10% /
    devtmpfs                devtmpfs  103M     0  103M   0% /dev
    tmpfs                   tmpfs     112M     0  112M   0% /dev/shm
    tmpfs                   tmpfs     112M  4.8M  108M   5% /run
    tmpfs                   tmpfs     112M     0  112M   0% /sys/fs/cgroup
    /dev/sda1               xfs       297M  109M  189M  37% /boot
    192.168.1.10:/share     nfs4       48G  4.8G   44G  10% /mnt

    写入数据验证

    [root@nfs-client ~]# touch /mnt/abc.txt      #权限限制,匿名访问是用nobody用户,因为该目录本身对于其他用户的权限是没有写入权限
    touch: cannot touch ?.mnt/abc.txt?. Permission denied

    修改服务端共享点目录的权限

    [root@nfs-server ~]# chmod  777 /share/

    再次验证写入即可

    [root@nfs-client ~]# touch /mnt/abc.txt
    [root@nfs-client ~]# ls /mnt/abc.txt 
    /mnt/abc.txt

    crond服务

    在linux中用于设置周期性被执行的指令,在特定的时间点执行一项作业,并且在以后相同的时间点重复执行

    crond由多个配置文件和系统文件控制,每个用户对应一个配置文件。

    crontab管理工具

    命令格式:

      crontab [选项] [参数]

    选项说明:

      -l  列出当前用户的计划任务

      -r  删除当前用户所有的计划任务

      -e  编辑当前用户的计划任务

      -u  指定用户

    配置周期作业字段组成:

      示例:* * * * *  /usr/bin/echo "1111111" >> /root/aaa.txt

      说明:每分钟向aaa.txt追加一行1111111

        第一个星号表示分钟:0-59,*表所有,下同

        第二个星号表示小时:0-23

        第三个星号表示日期:1-31

        第四个星号表示月份:1-12

        第五个星号表示周几:0-7(0和7表示周日)

        注:*表示始终,即每分钟、每小时、每天、每月、每周几,可以用数字表示

        注:x-y        表示范围

                     x,y        表示一个类,列表

                     例:分钟位  5,10-13,17         表示每小时5、10、11、12、13、17分钟执行

                     */x        x表示时间间隔

        /usr/bin/echo "1111111" >> /root/aaa.txt  执行的命令,命令关键字必须是绝对路径

    计划任务示例:

    [root@crond-test ~]# crontab -e
    50 7 * * *  /sbin/service sshd start        #每天早上7:50自动开启sshd服务,22点50时关闭
    50 22 * * *  /sbin/service sshd stop        
    0 * */5 * *  /bin/rm -rf /var/ftp/pub/*       #每隔5天清空一次FTP服务器公共目录/var/ftp/pub
    30 7 * * 6  /sbin/service httpd restart        #每周六的7:30时,重新启动httpd服务
    30 17 * * 1,3,5  /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd        #每周一、三、五的17:30时,打包备份/etc/httpd目录
    [root@crond-test ~]# crontab -e -u jerry     
    55 23 * * 7  /bin/cp /etc/passwd /home/jerry/pwd.txt     #jerry用户每周日晚上23:55时将“/etc/passwd”文件的内容复制到宿主目录中,保存为pwd.txt文件

       

  • 相关阅读:
    C++小结
    进程
    JavaScript中如何获取当前点击对象信息!
    form表单中enctype="multipart/form-data"的传值问题
    WebMagic框架总结
    工具类:自己总结的利用fileupload包上传文件的工具类!
    工具类:关于如何找到两个List数组中不同的数据的算法!
    工具类:关于解决数据库中的日期格式,经过response.getWriter().write(json)打到前台日期格式混乱的问题的总结
    工具类:将其他编码类型转换成UTF-8或者其他类型的工具类
    博主收藏的前端框架,极力推荐!
  • 原文地址:https://www.cnblogs.com/zero527/p/6927752.html
Copyright © 2020-2023  润新知