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

相关推荐

  • 详解linux磁盘管理

                           磁盘管理 设备文件 1. I/O ports:I/O设备地址 2. 一切皆文件,open(),read(),write(),close(),对设备的操作也都是通     过这…

    Linux干货 2016-08-29
  • linux基础知识1

    Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。文件管理工具:cp,mv,rmcp命令:copy源文件:目标文件单源复制:cp [OPTION]… [-T] SOURCE DEST多源复制:cp [OPTION]… SOURCE… DIRECTORYcp [OPTION]… -t DIRECTORY SOURCE…单源复制:如果DES…

    2018-03-12
  • 第三周(3):课堂练习与作业

    课堂练习: 1、找出ifconfig命令结果中本机的所有IPv4地址 [root@centos6 ~]# ifconfig | tr -cs '[0-9].' '\n'|sort -ut. -k3n 127.0.0.1 10.1.…

    Linux干货 2016-08-08
  • Openssl——为你的信息保驾护航

    OpenSSL基础 ·传输层协议:TCP,UDP,SCTP         port:进程地址,进程向内核注册使用某端口(独占) ·同一主机上的进程间通信:IPC,message queue,shm,semerphor ·不同主机上的进程间通信:socket  &nbs…

    Linux干货 2016-09-22
  • 常用进程查看工具

    进程是我们学习Linux中常常接触的概念,他是程序被运行起来的一种表现形态。 了解进程的工作状态,管理进程的工作状态,可以让我们更清楚的知道,系统正在做什么,整体的进度是怎么样的。 想要了解进程的工作状态,我们就需要借助一些常用的工具来查看,想要对进程进行管理,我们也需要工具来实现。下面我们一起来看一看常用的查看进程工具有哪些,这些工具是如何使用的,有什么特…

    2017-05-09
  • 循环体

    for 变量名in 列表;do 循环体 done 执行机制: 依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束 列表生成方式: (1) 直接给出列表 (2) 整数列表: (a) {start..end} (b) $(seq[start [step]] end) (3) 返回列表的命令  &nbsp…

    Linux干货 2016-08-21