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
# rpm -ivh /sr0/Packages/samba-3.6.9-164.el6.x86_64.rpm
调整配置文件
安全起见,先备份一下配置文件
# mv smb.conf smb.conf.bk
# grep -v "#" smb.conf.bk > smb.conf
开始修改
#vim smb.conf
匿名访问
访问设置
更改一下文件夹权限
# chmod 777 /opt/a
关闭防火墙和selinux
启动服务
# service smb start
测试
写一个文件进去,再到服务器上查看。
成功!
账户映射
首先添加映射名单
# vim smbusers
给zz这个用户添加smb密码,正常设置密码会导致无法登录
更改主配置文件
#vim smb.conf
改这两点
行末添加
重启服务
检测
成功!
附:
主配置文件详解
[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