Samba安装配置

摘要:
2.nmbd监听137和138个UDP端口的nmbd进程,以处理浏览共享和计算机名称解析;1、 查看samba服务状态#rpm qa|grepsamba samba common-3.0.33-3.39.el5 _ 8-------->

Samba简介

Samba官网:http://www.samba.org
SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

启动服务:# /etc/rc.d/init.d/smb start

Samba有两个守护进程:smbd和nmbd
1.smbd监听139TCP端口       smbd进程的作用是处理SMB请求包,负责用户验证和文件共享;
2.nmbd监听137和138UDP端口  nmbd进程的作用是处理浏览共享和计算机名称解析;


一、查看samba服务状态
    # rpm -qa | grep samba
    samba-common-3.0.33-3.39.el5_8 --------> 这个是samba通用配置包;
    samba-3.0.33-3.39.el5_8 ---------------> 这个是samba主服务包,如果没有需要安装上;
    samba-client-3.0.33-3.39.el5_8 --------> 这个是samba客户端工具包;

二、安装samba主服务
    # yum install -y samba

三、查找samba配置文件所在目录
    # rpm -ql samba-common | grep smb.conf
    /etc/samba/smb.conf ---------------------------------> 配置文件
    /usr/share/man/man5/smb.conf.5.gz

    或:
    # rpm -qc samba-common
    /etc/samba/lmhosts
    /etc/samba/smb.conf ---------------------------------> 配置文件
    /etc/security/pam_winbind.conf

    或:
    # find /etc/ -name smb*
    /etc/gnome-vfs-2.0/modules/smb-module.conf
    /etc/rc.d/init.d/smb --------------------------------> 启动脚本
    /etc/samba/smb.conf ---------------------------------> 配置文件
    /etc/samba/smbusers

四、配置smb.conf文件
    # cp /etc/samba/smb.conf /etc/samba/BAK.smb.conf  先备份
    # vi /etc/samba/smb.conf                          编辑

    1.配置文件主要结构:

      [global]     设置全局环境选项

       # ----------------------- Network Related Options -------------------------
          # 工作组或域:
          workgroup = MYGROUP

          # Samba服务器描述:
          server string = Samba Server Version %v
       
          # netbios名称:
          ; netbios name = MYSERVER

          # 指定使用的网络接口卡
          ; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24

          # 允许访问的IP网段列表(★允许优先):
          ; hosts allow = 127. 192.168.12. 192.168.13.
 
          # 禁止访问的IP网段列表(★允许优先):
          ; host deny = 192.168.190 
          注:此处如果某IP段被同时指定了允许和禁止,则最终结果“很违背常规”,是允许优先。

       # --------------------------- Logging Options -----------------------------
          # 按每服务器模式切割日志文件
          # logs split per machine

          # 指定日志文件位置:
          log file = /var/log/samba/%m.log

          # 指定每个日志文件最大字节数
          # max 50KB per log file, then rotate

          # 日志文件最多占用空间:
          max log size = 50

       #============================ Share Definitions ==============================

       [homes]      设置用户宿主目录共享(如果不需要用户通过smb访问自己的宿主目录,将此区块整体注释掉即可;;;)

       [printers]   设置打印机共享(通常不用,将此区块整体注释掉即可;;;)

 
  2.【实验】添加我的共享目录:
     可参考[homes]区块,在配置文件的末尾添加共享目录区块配置信息:

     ####################### 设置我的共享目录 ##########################

     [wwwroot]
     # 指定我的共享目录描述
     comment = wwwroot directory

     # 指定共享目录路径
     path = /wwwroot

     # 设置共享目录对所有用户是否可见:
     browseable = yes

     # 设置共享目录是否可写权限(取与Linux系统对目录权限的交集!逻辑and)
     writable = yes

     # 设置有效访问用户(多个用户空格分开,%S 表示匹配所有用户)
     valid users = martin jack

     ###################################################################


  3.检查配置文件有无语法错误:
    # testparm


五、查找smb服务启动脚本 并启动之
    1.查找smb服务启动脚本
      # find /etc/ -name smb
      /etc/rc.d/init.d/smb ------------------------> 启动脚本

      或:
      # rpm -ql samba | grep smb
      /etc/rc.d/init.d/smb ------------------------> 启动脚本
      /etc/samba/smbusers
      /usr/bin/mksmbpasswd.sh
      /usr/bin/smbcontrol
      /usr/bin/smbstatus

    2.启动SMB服务:
      # /etc/rc.d/init.d/smb start
      或:
      # service smb start

    3.设置开机自启动:
      # chkconfig --levels 235 smb on


六、添加smb用户【必须是系统中已存在的用户,假如系统中已经有了一个名为martin的用户】,并设置密码
    # smbpasswd -a martin
    New SMB password:
    Retype new SMB password:

    主要选项解析:
    -a  add user     表示添加SMB用户
    -d  disable user 表示禁用SMB用户
    -e  enable user  表示开启SMB用用户
    -x  delete user  表示删除SMB用户

    注:不加任何参数表示修改现已有SMB用户的密码


七、windows客户端登录:\192.168.1.xxx


八、无法登录或无法访问故障排除:
    1.如果SELinux阻止了访问:

      首先查找过滤SELinux关于samba的策略选项:
      # setsebool -a | grep samba

      找到了samba_enable_home_dirs这项,将启设置为on即可:
      # setsebool -P samba_enable_home_dirs on
      # chcon -t samba_share_t /wwwroot/


    2.如果防火墙阻止了访问,先行关闭:
      # iptables -F

    3.如果可以登录却无写权限(假如对用户martin):
      # setfacl -m u:martin:rwx -R /wwwroot/
      # setfacl -m d:u:martin:rwx -R /wwwroot/

    4.【可选】为防止用户删除他人的数据文件,也可对共享目录设置粘着位权限
       # chmod o+t /wwwroot/
       # chmod 1775 /wwwroot/

       取消粘着位权限:
       # chmod o-t /wwwroot/
       # chmod 0775 /wwwroot/


九、从服务端查看当前所有登录用户信息:
    # smbstatus
    Samba version 3.0.33-3.39.el5_8
    PID     Username      Group         Machine                       
    -------------------------------------------------------------------
    23427   martin        martin        pc           (192.168.10.1)


    查看samba的日志记录:
    # cat /var/log/samba/log.smbd


十、清除windows本地会话

     方法1: Win7系统找到: 控制面板 -> 用户帐户和家庭安全 -> 凭据管理器
               选择对应的凭据,然后点击“从保管库中删除”

     方法2: 开始 -> 运行cmd命令:
              查看所有会话: > net use
              清除所有会话: > net use * /delete /y
              注:* 表示所有会话

免责声明:文章转载自《Samba安装配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vue+element实现表格v-if判断(转)java上传本地文件至hdfs(简单写一下)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL-读写分离与分布式架构

MySQL读写分离概述 读写分离原理 基本原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作性操作导致的变更同步到集群中的从数据库=b。 读写分离原理图: 数据内部交换过程: 为什么要读写分离 面对越来越大的访问压力,单台的服务器的性能成为瓶颈需要分担负...

【Python】-NO.98.Note.3.Python -【Python3 解释器、运算符】

1.0.0 Summary Tittle:【Python】-NO.98.Note.3.Python -【Python3 解释器】 Style:Python Series:Python Since:2018-07-08 End:2018-07-08 Total Hours:30+ Degree Of Diffculty:5 Degree Of Mastery...

h264格式的flv和mkv无损转换成mp4的方法

现在很多flv和mkv视频都是采用的h264封装,移动设备往往并不支持这些格式的文件,但却对h264封装的mp4支持良好。因此,为了视频能在电脑和移动设备间共享,我通常会将其转换成h264封装的mp4文件。 由于视频转码非常耗时间和cpu,如果flv和mkv本来就是采用的h264封装,完全不需要转码,只需要把h264视频和音频文件分离出来,重新混流一次即可...

Spring jar包详解(转)

spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。     除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应...

rsync常用命令及格式

rsync在同步文件夹内容这个工作上应用非常广泛,但是rsync本身命令还是比较复杂,本文总结一下: rsync = remote sync的简称 ,它 被用于在linux/unix系统中执行备份操作。rsnync用于从一个位置到另外一个位置同步文件和文件夹。备份的地址可以是本地也可以是remote server。 rsync的重要功能: speed 首次...

python 安装新的模块

一、方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行:python setup.py install 三、 方法3:easy_install 方式  先下载ez_setup.py,运行python ez_setup 进行easy_install工具...