nfs和samba服务

nfs:
      nfs: Network File System                      #网络文件系统
      nis:Network Information Service;  #网络信息服务
      ldap:lightweight directory access protocol; ldap over ssl/tls;


nfsd: 2049/tcp                     #nfs的守护进程,

辅助类的服务:  rpc, portmapper       #端口映射
                           rpc.mountd   :认证 ;
                           rpc.lockd       : 加锁;
                           rpc.statd        : 状态; 
      rpc: remote procedure call       #远程过程调用

NFS  Server:
        /etc/exports或/etc/exports.d/
        /PATH/TO/SOME_DIR   clients1(export_options, …)  clients2(export_options, …)
        clients:
            single host:ipv4, ipv6, FQDN;
            network:address/netmask, 同时长短格式的掩码;
            wildcards:主机名通配,例如:
.magedu.com; 
            netgroups:NIS域内的主机组;@group_name;
            anonymous:使用*通配所有主机;
            
          General Options:
            ro:只读
            rw:读写;
            sync:同步;
            async:异步;
          User ID Mapping:     #默认压缩的
             root_squash:压缩root用户,一般指将其映射为nfsnobody(来宾用户);
             no_root_squash:不压缩root用户;
             all_squash:压缩所有用户;
             anonuid and anongid:将压缩的用户映射为此处指定的用户;
             
    NFS Client:
      客户端可以使用 showmount -e  服务器端地址    #查看共享列表
      mount -t nfs servername:/path/to/share /path/to/mount_point  
      [-rvVwfnsh ] [-o options]           #挂载共享文件
      
        # exportfs -ar          #重新导出所有目录,注意不要重启服务

        # exportfs -au          #不导出某个目录


以下是nfs的具体实现:    

 一、yum 安装 

       yum -y install nfs-utils rpcbind      #rpcbind是nfs的辅助类服务

二、 nfs 的配置文件 

    配置文件目录 /etc/exports默认为空

[root@shewei ~]#vim /etc/exports

  /opt/test/ 192.168.1.0/24(rw,async,anonuid=501,anongid=501)

   共享文件目录   客户端网段 (可读,异步,默认压缩系统用户,将压缩的用户映射为此处指定的用户)

   使配置生效  :exportfs -r

三、启动 nfs 

service rpcbind start            

service nfs start         #辅助进程和nfs都要启动

chkconfig rpcbind on

chkconfig nfs on          #这里是加入开机启动

四、客户端挂载:

    NFS Client:
      客户端可以使用 showmount -e  服务器端地址    #查看共享列表
      mount -t nfs servername:/path/to/share /path/to/mount_point  
      [-rvVwfnsh ] [-o options]           #挂载共享文件
      
        # exportfs -ar          #更改后的目录需要重新导出所有目录,注意不要重启服务
        # exportfs -au          #不导出目录

关于部署共享服务,可以在服务器搭建lamp环境然后通过nfs共享出去

                             也可以把服务器当数据库,在客户端上搭建lamp环境,使用nfsg共享的文件。


samb服务:

          smb: Service message block
          cifs: common internet filesystem
  
samba:Andrew Tridgell;
    功能: 
         文件系统共享;           
         打印机共享;
         NetBIOS协议;
      
    peer/peer(workgroup model)
    domain model
    
  程序环境:
    服务端程序包:samba
    主配置文件:/etc/samba/smb.conf, 由samba-common包提供;
    主程序:
      nmbd:NetBIOS name server
      smbd:SMB/CIFS services
    Unit File:
      smb.service                 #提供文件系统共享和打印机共享
      nmb.service 

  

监听的端口:

      137/u dp, 138/udp 
      139/tcp, 445/tcp 

  客户端程序:
    smbclient:交互式命令行客户端,类似于lftp;
    mount.cifs:挂载cifs文件系统的专用命令;
    
  samba的配置文件:
             smb.conf
      
  两类配置段:
        全局配置
          [global]
            Network-Related Options
              workgroup =
              server string = 
              interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
              hosts allow = 127.  192.168.12.  192.168.13.
             Logging Options
              log file = /var/log/samba/log.%m
              max log size = 50
              Standalone Server Options
              security = user
        设定安全级别:取值有四个;
                  share:匿名共享;

                  user:使用samba服务自我管理的账号和密码进行用户认证;用户必须是系统用户,但密码非为

                           /etc/shadow中的密码,而由samba自行管理的文件,其密码文件的格式由passdb backend进行定义;

                  server:由第三方服务进行统一认证;
                  domain:使用DC进行认证;基于kerberos协议进行;
                                    passdb backend = tdbsam
                                    Printing Options
                                    load printers = yes
                                    cups options = raw
            
 共享文件系统配置
          [SHARED_NAME]
                    有三类:
            [homes]:为每个samba用户定义其是否能够通过samba服务访问自己的家目录;
            [printers]:定义打印服务;
            [shared_fs]:定义共享的文件系统; 
            
          常用指令:
            comment :注释信息;
            path    :当前共享所映射的文件系统路径;
            browseable:是否可浏览,指是否可被用户查看;
            guest ok  :是否允许来宾账号访问;
            public    :是否公开所有用户;
            writable  :是否可写
            write list:拥有写权限的用户列表;
              用户名
              @组名
              +组名
        
samba用户管理:
        smbpasswd 
          smbpasswd [options] USERNAME
            -a:添加
            -x:删除
            -d:禁用
            -e:启用
        pdbedit
          -L:列出samba服务中的所有用户;
          -a, –create:添加用户为samba用户;
            -u, –user=USER:要管理的用户;
          -x, –delete:删除用户;
          -t, –password-from-stdin:从标准输出接收字符串作为用户密码;
        
查看服务器端的共享:
        smbclient -L SMB_SERVER  [-U USERNAME]
        
交互式文件访问:
        smbclient //SMB_SERVER/SHARE_NAME [-U USERNAME]
        
挂载访问:

        mount -t cifs //SMB_SERVER/SAHRE_NAME  -o username=USERNAME,password=PASSWORD


 注意:挂载操作的用户,与-o选项中指定用户直接产生映射关系;

           此时,访问挂载点,是以-o选项中的username指定的用户身份进行,与本地用户无关,
        
smbstatus命令:
      显示samba服务的相关共享的访问状态信息;
            -b:显示简要格式信息;
             -v:显示详细格式信息; 
        

以下是samba的具体实现:

一、安装SAMBA

 [root@shewei ~]#yum -y install samba samba-client samba-common

1)、samba                      samba服务器软件包

2)、samba-client            samba客户端工具

3)、samba-common      samba通用工具和库文件

二、配置SAMBA服务器

[root@shewei ~]#systemctl start smb nmb          #提供文件系统共享和打印机共享

            监听的端口: 137/udp, 138/udp 
                      139/tcp, 445/tcp 

[root@wei ~]#smbclient -L 172.18.12.11 [user]        #可以匿名登陆,查看是否能显示出列表
[root@wei samba]#smbpasswd -a centos            #创建samba用户,需要本地有映射的用户,

                                  这里密码是samba设置的,

[root@wei ~]#smbclient -U centos //172.18.12.11/centos #访问共享的家目录,给家目录w权限可以上传和下载

samba用户管理:
        smbpasswd 
          smbpasswd [options] USERNAME
            -a:添加
            -x:删除
            -d:禁用
            -e:启用
        pdbedit                #此命令功能很强大
          -L:列出samba服务中的所有用户;
          -a, –create:添加用户为samba用户;
            -u, –user=USER:要管理的用户;
          -x, –delete:删除用户;
          -t, –password-from-stdin:从标准输出接收字符串作为用户密码;
[root@wei samba]#pdbedit -a -u fedora                    #这里添加用户也需要本地存在此用户

[root@wei samba]#smbstatus                               #显示samba服务的共享信息

                          -b  :显示摘要信息

                          -v  :显示详细信息


前面都是samba的一些使用方法;下面才是samba的具体配置

创建共享目录(假设共享/smb目录下的文件)

  # mkdir -pv /data/mydat

# vim/etc/samba/smb.conf
添加如下内容:

[mysql]
        comment = MYdate
        path = /data/mydata
        public = yes
        browseable = yes
        read only = no

保存退出后

[root@wei data]#testparm                    #使用此命令检查是否成功,会多出一个mysql列表

最后记得给对应目录的权限,此处给了公共权限,同时记得一定要有本地映射的用户,

[root@she ~]#mount -t cifs //172.18.12.11/mysql /opt/  -o username=centos,password=centos

           #在客户端挂载samba共享文件,指定文件系统cifs , -o 指定挂载使用的用户和密码

原创文章,作者:shewei,如若转载,请注明出处:http://www.178linux.com/74353

(0)
sheweishewei
上一篇 2017-04-27 19:20
下一篇 2017-04-28 10:23

相关推荐

  • RHCS问题汇总-深圳Eric

    拓补图: 服务器用了4个网卡 两个万兆网卡做了bond连到netgear交换机,交换机端口access 30 对应IP段10.199.16.0/22,网关10.199.16.1做在netgear上 两个千兆网卡做了bond连到cisco 3750交换机,交换机端口truck 30 40 1001-1300 对应IP段10.199.16.0/22、10.176…

    Linux干货 2016-06-22
  • N25期–第十七周作业

    1、  结合图形描述LVS的工作原理; 针对高可伸缩、高可用网络服务的需求,给出了基于IP层和基于内容请求分发的负载平衡调度解决方法,并在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器。 虚拟服务器的体系结构如图所示,一组服务器通过高速的局域网或者地理分布的广域网相互连接,在它们的前端有一个负载调度器(…

    2017-05-08
  • N24期第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 2、编辑/etc/group文件,添加组hadoop。 vim /etc/group,增加此行 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home…

    Linux干货 2016-11-22
  • 软件管理

    ldd   /path/to/binary_file       查看二进制所依赖的库文件 ldconfig  -p  查看已缓存的库文件名和文件路径 配置文件 :/etc/ld.so.conf,   /etc/ld.so.conf.d/*.conf 缓存文件:/etc/ld.so.cac…

    Linux干货 2017-06-11
  • 命令,Linux的独特魅力

    转眼又学了一个星期,那就来分享一下这个星期所学的知识吧! 这个星期学的都是各种命令,而这些命令就如同windoes里面画面上的各种选项,没有这些命令,那么你对它将无从下手。那下面就来看看这些命令的强大功能 help   man help(内部命令帮助),等同于man(外部命令帮助)。当你对一个命令不熟悉时,这两个命令将是你的救命符 选定一个命令,先…

    2017-07-22
  • bash特性

    一、命令历史     概念:shell进程能够将之前执行过的命令保存记录下来     存储位置:         1、命令历史的文件             使用以下环境变量查看相关参数:     &…

    Linux干货 2016-09-19