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. 为luna版本eclipse增加Web插件

    插件地址: http://download.eclipse.org/releases/luna/

  2. List Arraylist 数组的区别

    数组.List和ArrayList的区别 数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单,比如: ]; //赋值 s[]=]=]="c"; //修 ...

  3. 树莓派开启root用户

    树莓派系统使用的linux是debian系统,所以树莓派启用root和debian是相同的. debian里root账户默认没有密码,但账户锁定. 当需要root权限时,由默认账户经由sudo执行,R ...

  4. android 自定义View Caused by: java.lang.ClassNotFoundException: Didn't find class

    在android studio中, 自定义View 时,出现 Caused by: java.lang.ClassNotFoundException: Didn't find class 在查看包名和 ...

  5. windows下CMake使用图文手册 Part 2

    例子2:有目录的项目 我现在有个文件夹ProjectDate,有如下文件结构 E:. │  CMakeLists.txt │ ├─include │      Date.h │ └─src       ...

  6. Hadoop_配置_linux下编译eclipse插件

    使用的hadoop版本为hadoop-1.2.1(对应的含源码的安装包为hadoop-1.2.1.tar.gz) 将hadoop和eclipse都解压在home中的用户目录下 /home/chen/h ...

  7. 用javascript比较快速排序和合并排序的优劣

    <script> //用来调用排列方法的类 function arr_sort(arr){ var startTime,endTime; var priv_arr = new Array; ...

  8. Javascirpt中创建对象的几种方式

    js是一种动态语言,即js的对象创建好之后可以随意修改,因此JS对象的面向对象编程部分更可以说是通过JS的怪异特性来模拟Java这类的面向对象编程的.下面首先讨论几种创建对象的方式: 1. 工厂模式创 ...

  9. Neo4j创建自动索引

    一.创建Neo4j的Legacy indexing 1.为节点创建索引 官方API的创建示例为: 将一节点添加至索引: public static void AddNodeIndex(String n ...

  10. Pycharm注册码

    name : newasp===== LICENSE BEGIN =====09086-1204201000001EBwqd8wkmP2FM34Z05iXch1AkKI0bAod8jkIffywp2W ...