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

相关推荐

  • iptables详解

    iptables命令: iptables [-t table] {-A|-C|-D} chain rule-specification iptables [-t table] -I chain [rulenum] rule-specification iptables [-t table] -R chain rulenum rule-specificatio…

    Linux干货 2017-11-12
  • AWK小记

    gawk – pattern scanning and processing language 基本用法:gawk [options] ‘program’ FILE … program: PATTERN{ACTION STATEMENTS} 语句之间用分号分隔 print, printf 选项: -F:指明输入…

    2018-01-16
  • Nginx 原理

    Web服务器处理并发连接请求的工作模型有以下几种方式: 1、单线程web服务器(Single-threaded web servers)此种架构方式中,web服务器一次处理一个请求,结束后读取并处理下一个请求。在某请求处理过程中,其它所有的请求将被忽略,因此,在并发请求较多的场景中将会出现严重的性能问题。(即一次只能处理一个请求) 2、多进程/多线…

    Linux干货 2017-05-07
  • 0804练习与作业

    0804练习与作业 练习  1 、找出ifconfig 命令结果中本机的所有IPv4 地址 答: 使用cut将电脑的IP地址提取出来。   经过观察,这些信息极为不规则,没有明显的分隔符。这时们需要首先提取出IP地址所在的行,然后去定义一个合适的分隔符,再利用cut进行提取即可。(思路:化繁为简,化不规则为规则,这样才能更好的套用我们的命…

    Linux干货 2016-08-08
  • Linux系统的终端类型

    一、什么是Linux终端     终端–用户用户与主机交互,必然要用到的设备。     早期的大型机,想使用的用户很多,但是主机只有一个,也不可能人手一台,但是可以做到在主机上接一个分屏器,分屏器的每一个端子上可以接上一套鼠标键盘显示器,就可以直接在主机上进行一些操作了,这就相当于每个人在独立的操作一台计算…

    Linux干货 2016-10-18
  • shell脚本一键安装二进制Apache

    安装背景:用的一台最小化安装的centos6。 编译安装安装的必备安装gcc,gcc-c++ 安装包arp,arp-util以及pcre的压缩包已经传到七牛,没有通过官网下载。太慢。 apache是通过官网下载的,所以下载比较慢,需要的话更改下地址 不足,只按照正常流程写,未做任何异常判断处理 #/bin/bash #一键安装Apache #安装GCC ec…

    Linux干货 2016-07-10