samba的部署及应用

samba:

启动服务:nmb.server;smb.server

会通过文件系统的方式输出给客户端

smb:Service Message Block;服务信息块
cifs:Common Internet File System,通用互联网文件系统

samba:Andrew Tridgell;热情奔放的桑巴舞,主要的协议 cifs,协议

1.功能:

  • 文件系统共享;

  • NetBIOS协议;

  • 打印服务;

2、工作模型

  • peer to peer(Work Group):工作组模型

  • domain devel:域模型

      实现方式:LDAP:Lightweight Directory Access Protocol
      轻量级目录服务访问协议

3、安装 :yum install samba

samba的部署及应用        

一、程序环境:

4、配置文件:

    /etc/samba/smb.conf

5、主程序:

    nmbd:Network Naming Service, 主要是为了完成NetBIOS域名解析
    smbd:SMB/CIFS Service;根本的samba主程序

6、Unit File:

    /usr/lib/systemd/system/nmb.service
    /usr/lib/systemd/system/smb.service

7、监听的端口:

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

8、客户端程序:

    mount -t cifs = mount.cifs   
    专用于挂载samba文件系统的方式

    smbclient:交互式命令行客户端工具;

注意:samba使用的是系统中的用户名,但是不会使用其密码,samba内部提供了一个内置的密码机制!

二、samba的配置:

/etc/samba/smb.conf
samba的部署及应用        

两类配置段:

  • 全局配置:

[global]

Network-Related Options ----网络相关的选项

    workgroup = MYGROUP //定义工作组组名
    server string = Samba Server Version %v 
    //定义提示信息,%v表示宏定义samba的版本号

    ; netbios name = MYSERVER //win主机为了在win解析对等网络的主机名时,当前主机用什么去相应


  ; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/2  
     #启用的话 指明要监听的地址和接口(默认注释掉的信息)用空格分开,lo 表示监听本地的主机端口

  ; hosts allow = 127. 192.168.12. 192.168.13.
        做访问控制,白名单;127.表示127.0.0.1/8所在的网段,192.168.12表示192.168.12的网段



Logging Options ---------日志选项

     log file = /var/log/samba/log.%m 
    #表示每个访问的主机用单独的文件访问 %m表示那个主机的地址

    max log size = 50 
    #记录的文件大小一旦超过这个大小就要滚动表示了,应当调大一点 51200 ;512M

Standalone Server Options --------独立服务选项(就是我们只用来配置sambaserver的选项)
    security = user 
        share (depricated)
        server (depricated)
        domain    
    定义安全选项为 账号密码登陆,账号为系统账号

    passdb backend = tdbsam
    定义密码存储机制 tdbsam 

Browser Control Options -------- 浏览器控制选项
Name Resolution ----------名称解析
 Printing Options -------打印机驱动

    load printers = yes
    打印机驱动是否装载

    cups options = raw
    同用unix打印驱动    使用raw库

======== Share Definitions =========定义共享文件系统

[shared_ID]有三类:

  • [homes]:每个samba用户是否能够通过samba服务访问其家目录;

  • [printers]:打印服务;

  • [shared_FS]:用户自定义的共享目录;

常用指令:

  • comment:注释信息,解释作用;

  • path:本地文件系统路径;

  • browseable:是否可浏览,是否为用户可见;

  • guest ok:是否允许来宾账号访问;

  • public:是否公开给所有来宾与上一条意义一样;

  • writable:服务对所有的用户是否可写;

    • read only = no

  • write list:拥有写权限的用户或组列表这条与上一条不能通用;

  • 用户名

    • @组名, +组名

三、samba用户管理命令:smbpasswd, pdbedit

smbpasswd [OPTIONS] USERNAME 传统命令

-h:获取帮助
-a:添加用户进samba用户
-x:删除用户
-d:禁用用户
-e:启用
-L:列出添加的用户

pdbedit:

-L:列出samba服务中的所有用户;
-au:添加用户为samba用户,a表示添加,u指明用户名;
-x:删除
-t:从标准输出接收密码;

samba的部署及应用

四、访问服务:

1、smbclient交互式客户端程序:

(1) 查看目标服务上的共享

    smbclient -L SMB_SERVER [-U USERNAME]

samba的部署及应用

(2) 访问共享服务

    smbclient //SMB_SERVER[/SHARE_NAME] [-U USERNAME]

samba的部署及应用

2、mount.cifs

samba的部署及应用

    mount -t cifs //SMB_SERVER/SHARED_ID  /MOUNT_POINT  -o username=USER,password=PASS

注意:挂载操作中的用户,与-o选项中指定的用户直接产生映射关系;访问挂载,是以-o选项指定的用户身份运行,与本地用户以ID产生映射;

这里有些小东西要记住:当客户端主机用户B和服务端允许的samba权限为 读写 用户A上的 ID 号一样时会导致 B用户会对此samba系统有读写权限!
    前提:B用户要对挂载的目录有读写权限,且A用户也要对共享的samba目录也要用读写权限才行(就是文件系统权限要开放!samba服务权限也要开放,才可以)

smbstatus命令:

显示samba服务的相关共享的访问状态信息;
    -b:显示简要格式信息;
    -v:显示详细格式信息;

samba的部署及应用                                    

自定义共享的方式:

[shared_ID]
    comment = 
    path = 
    guest ok = 
    read only = 
    public = 
    browseable = 
    write list =

测试语法命令 : testparm

注意:定义所用户在服务级的写权限write = yes (read only = no)不建议与write list同时使用;

实验1:客户端命令方式挂载

步骤1、改配置文件:
samba的部署及应用    

发现并不能上传,这是因为服务端centos用户不能对 /samba/tools 有写权限

步骤2、加上写权限
samba的部署及应用

步骤3、成功

samba的部署及应用

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

(0)
qzxqzx
上一篇 2016-10-19 08:31
下一篇 2016-10-19 08:34

相关推荐

  • 浅谈DNS基本原理以及实现方法(二)

             DNS作为互联网服务的一个基础型服务,了解和掌握DNS服务的原理和配置将是每一个运维人员必备的技能,这就如同闯荡江湖的侠客不但要有的招式,还要懂的运用这些招式的心法一样,接下来我将从DNS的正反向解析、主从同步、子域授权以及Bind view这四个方面来揭开它神…

    Linux干货 2015-12-19
  • N22-第24周博客作业——-虚拟化技术

    虚拟化技术—基础(1) 本文围绕下面3个问题进行对虚拟化技术展开讨论: 1、虚拟化技术实现方式有哪些?虚拟化技术分哪些? 2、请分别通过kvm、xen工具来实现虚拟化系统的部署? 3、请描述openstack、kvmqemu-kv、libvirt及xen之间的关系。 虚拟化诞生和发展     1961年 IBM709…

    Linux干货 2016-10-17
  • N25-第五周博客作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf      root (hd0,0)…

    Linux干货 2017-01-06
  • 磁盘和文件系统创建

    磁盘结构:主要是由盘体、控制电路、接口部件等组成。盘体里面封装了多个盘片的腔体;控制电路包含硬盘BIOS、主控芯片和硬件缓存等单元;接口部件包含电源、数据接口主从跳线等。读取硬盘数据时,主轴电机带动盘片旋转,副轴电机带动磁头臂将磁头放到相应的数据存放的柱面和磁道上,再由磁头读出相应扇区中的数据。(图1-1) 磁道(track):每个盘面被划分成了多个同心圆环…

    Linux干货 2016-02-14
  • 第二周博客作业

    1.Linux上的文件管理类命令都有那些,其常用的使用方法及其相关示例演示。
    2.Bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
    3.请使用命令行展开功能来完成以下的练习。
    4.文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
    5.如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
    6.显示/var目录下所有以1开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其他字符)的文件或目录。
    7.显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
    8.显示/etc目录下,以非字母开头,后面跟了一个字母以及其他任意长度任意字符的文件或目录。
    9.在/tmp目录下创建以tgile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22
    10.复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
    11.复制/etc目录下所有以.d结尾的文件或目录到/tmp/mytest2目录中。
    12.复制/etc目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

    2018-03-22
  • 编译安装LAMP-centos7

    编译安装LAMP (centos7 基于模块化) 编译安装所需版本 Httpd 2.4,PHP 5.4,MariaDB 5.5通用二进制格式(绿色安装包) MAriDB5.5 绿色安装 1、#mkdir lamp :创建一个文件夹,存放软件的版本 2、从官网上下载httpd2.4 mariaDb 5.5 PHP 5.4到该文件夹下 3、# tar xvf m…

    Linux干货 2017-05-17