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. 在UIView上添加tableView设置代理属性

  2. QQ右下角浮动窗口

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...

  3. JavaScript的学习4

    一.Array对象 ArrayObject.reverse()   将数组进行翻转 ArrayObject.shift()     删除数组中的第一个元素并将其返回 ArrayObject.unshi ...

  4. Mware vCenter Server 识别固态硬盘为(非SSD)是什么原因?

    人工定义一下: 用root登录进ESXi控制台:esxcli storage nmp device list #列出储存清单esxcli storage nmp satp rule add -s VM ...

  5. 安装boost库(Windows)

    1. 下载 官网:http://www.boost.org/ 主页:https://sourceforge.net/projects/boost/ 当前最新版:V1.61.0 2. 编译 首先,生成b ...

  6. oracle并发请求异常,运行时间超长(一般情况下锁表)

    1.如果前台无法取消请求出现错误: 则后台更新 update fnd_concurrent_requests    set status_code = 'X', phase_code = 'C'  w ...

  7. 解决windows 2003 无法安装vss2005的问题

    1.打开vss2005  进行安装提示 未安装 sp1 2.下载了sp1 英文版本,与服务器语言对不上,删除,再下个 简体中文版 3.提示 无法识别 key,百度搜索 Windows XP/2003序 ...

  8. RESTful Web Services初探

    RESTful Web Services初探 作者:杜刚 近几年,RESTful Web Services渐渐开始流行,大量用于解决异构系统间的通信问题.很多网站和应用提供的API,都是基于RESTf ...

  9. ASP.NET权限管理

    ASP.NET Web Forms权限管理: 我要将一个文件夹只能让一个用户组访问怎么办? 可否在网站根目录下的web.config里这样设置: <location path="adm ...

  10. git 查看远程分支、本地分支、删除本地分支【转】

    1 查看远程分支 $ git branch -a * br-2.1.2.2 master remotes/origin/HEAD -> origin/master remotes/origin/ ...