samba服务简介

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

环境

redhat 6.5 
IP:192.168.10.100 
hostname: zred 
win7 
ip: 192.168.10.50

确定两台机器互联互通

samba 创建用户 创建工作组 samba用户的配置文件_配置文件

匿名配置步骤

首先安装samba

# rpm -ivh /sr0/Packages/samba-3.6.9-164.el6.x86_64.rpm


samba 创建用户 创建工作组 samba用户的配置文件_服务器_02

调整配置文件

安全起见,先备份一下配置文件

# mv smb.conf smb.conf.bk
# grep -v "#" smb.conf.bk > smb.conf
开始修改
#vim smb.conf
匿名访问

samba 创建用户 创建工作组 samba用户的配置文件_配置文件_03

访问设置

samba 创建用户 创建工作组 samba用户的配置文件_开发工具_04

更改一下文件夹权限
# chmod 777 /opt/a
关闭防火墙和selinux

samba 创建用户 创建工作组 samba用户的配置文件_配置文件_05

启动服务

# service smb start

测试

samba 创建用户 创建工作组 samba用户的配置文件_samba 创建用户 创建工作组_06

写一个文件进去,再到服务器上查看。

samba 创建用户 创建工作组 samba用户的配置文件_配置文件_07

samba 创建用户 创建工作组 samba用户的配置文件_samba 创建用户 创建工作组_08

成功!

 

账户映射

首先添加映射名单

# vim smbusers

samba 创建用户 创建工作组 samba用户的配置文件_samba 创建用户 创建工作组_09

给zz这个用户添加smb密码,正常设置密码会导致无法登录

samba 创建用户 创建工作组 samba用户的配置文件_服务器_10

更改主配置文件

#vim smb.conf

改这两点

samba 创建用户 创建工作组 samba用户的配置文件_服务器_11

行末添加

samba 创建用户 创建工作组 samba用户的配置文件_网络_12

重启服务

samba 创建用户 创建工作组 samba用户的配置文件_samba 创建用户 创建工作组_13

检测

samba 创建用户 创建工作组 samba用户的配置文件_开发工具_14

samba 创建用户 创建工作组 samba用户的配置文件_samba 创建用户 创建工作组_15

成功!

 

 

附:

主配置文件详解



[global]            //全局配置

      workgroup = MYGROUP
    
[homes]            //家目录共享                
    

[printers]            //打印机共享
[a]
        path = /smb/        //共享目录路径
;       public = yes|no        //默认no;公用的        
;       browseable = yes|no    //默认yes;是否可以浏览
;       read only = yes|no    //默认yes;只读
;       writable = yes|no    //默认yes;可写
        write list = user    //默认无;可写入的用户列表
        valid users = user,user1//默认所有用户;有效的用户列表
;       hosts allow = 客户地址       //允许的客户机地址
;       hosts deny =  客户地址      //禁止的客户机地址
;       comment = 注释          //说明



过程中可能出现的错误


1、客户端登录samba时出现以下提示:
session setup failed: NT_STATUS_LOGON_FAILURE
该错误提示表示用户有误,可能是用户不存在,也可能是密码错误,或者只是在samba用户和系统用户及密码出现错误,总之就是用户和密码的问题。
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
该错误表示坏的网络名,表示共享目录不存在,或共享目录权限问题
可用setfacl -m给用户加权限
Connection to 192.168.4.7 failed (Error NT_STATUS_HOST_UNREACHABLE)
2、客户端连接到samba共享目录时出现以下提示:
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*
文件权限不足,或者存在selinux限制
调整文件的权限,并打开selinux开关
3、执行setsebool -P 操作启用SElinux开关参数时失败,提示:Killed
内存不足,而且交换空间也不足
添加交换分区(1GB)在重试

转载于:https://blog.51cto.com/13706064/2151878