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安装配置的更多相关文章

  1. 03_ubuntu samba 安装配置

    03_ubuntu samba 安装配置 安装samba sudo apt install samba 修改samba配置文件 sudo vim /etc/samba/smb.conf [share] ...

  2. LDAP + Samba 安装配置流程

    LDAP + Samba 安装配置 基础环境:Ubuntu18.04 安装samba root@cky:~# apt install samba smbldap-tools -y 查看版本 root@ ...

  3. Ubantu 16.4 samba安装配置

    本文总结了Ubantu 16.04 环境下的samba安装.配置及使用.本文为原创,也是我的第一篇博客,以后会经常写博客,记录自己的学习.总结及研究,让博客见证着我成长的轨迹. 下文中的所有命令均使用 ...

  4. Y1S001 ubuntu下samba安装配置以及使用vbs映射到驱动器

    我这边安装samba只用了两步 第一步 sudo apt-get install samba 第二步 sudo vi /etc/samba/smb.conf 主要修改点如下,去掉注释或者修改=右边的值 ...

  5. redhat samba安装配置

    突然想要用,好久没配过这玩意了,再次配置一次,记录一下过程. 1.挂载镜像      mount -o loop ~/Desktop/RHEL_5.5\ i386\ DV.iso /mnt       ...

  6. 【转】centos 6.4 samba 安装配置

    关掉防火墙     service iptables stop  chkconfig iptables off (永久关闭防火墙) 关闭SELinux vi /etc/sysconfig/selinu ...

  7. [转载]CentOS 7安装配置Samba服务器

    假设我们有这样一个场景 共享名路径权限SHAREDOC/smb/docs所有人员包括来宾均可以访问RDDOCS/smb/tech仅允许特定组的用户进行读写访问 特定组的组名为RD,目前的Alice.J ...

  8. CentOS 7.2 安装配置Samba服务器

    1背景 转Linux刚刚1年,vim操作还不能应对工程代码,之前一直都是Gnome桌面 + Clion 作开发环境,无奈在服务器上没有这样的环境, 看同事是(Windows)Source Insigh ...

  9. centOS下yum安装配置samba

     centOS下yum安装配置samba 2010-03-29 15:46:00 标签:samba yum centOS 安装 休闲 注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目 ...

随机推荐

  1. FreeRTOS知识点

    特点: FreeRTOS任务不容许以任何方式从  任务中 实现函数中返回--绝对不能有return语句,也不能执行到函数末尾.如果任务不再需要,可以显示的删除. 一个任务函数可以用来创建若干个任何-- ...

  2. load()方法---------jQuery动态加载html

    jquery代码 $("#div").load("test.html"); test.html   ----------------被加载页面(有<HTM ...

  3. 如何在Visual Studio里面查看程序的汇编代码?

    开发工具:Visual Studio 2015 1,在源代码中设置至少一个断点,目的让我们进入调试模式. 2,启动调试,当程序进入调试模式,停留在我们设定的断点处时候,使用快捷键"ALT+8 ...

  4. Stanford NLP学习笔记:7. 情感分析(Sentiment)

    1. 什么是情感分析(别名:观点提取,主题分析,情感挖掘...) 应用: 1)正面VS负面的影评(影片分类问题) 2)产品/品牌评价: Google产品搜索 3)twitter情感预测股票市场行情/消 ...

  5. Python基础篇【第3篇】: Python异常处理、反射、动态导入、利用反射的web框架

    异常处理 什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行. 一般情况下,在Python无法正常处理程序时就会发生一个异常.异常是Python对象,表示一个错误.当P ...

  6. 第五届山东ACM大赛汇总

    A.angry_birds_again_and_again 简单积分: http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem& ...

  7. html基础 1

    大三已经快要结束的时候才意识到自己真的一点东西都没有学到,然后就决定要在大四结束前能学多少是多少,自己要尽力.之所以要开博客是因为自己总是坚持不了,要给自己一个坚持下去的动力所以开始了.慢慢的一步一步 ...

  8. autoit使用WMIC获取硬件信息

    效果图: 直接上源码了 #cs ---------------------------------------------------------------------------- AutoIt ...

  9. logging 日志模块学习

    logging 日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪,所以还是灰常重要滴,下面我就来从入门到放弃的系统学习一下日志既可以在屏幕上显示,又可以在文件中体现. ...

  10. Win10光驱不见了

    1. 网上教程试了很多,如下: http://jingyan.baidu.com/article/02027811656a8b1bcd9ce570.html http://jingyan.todgo. ...