一、samba服务简介

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

二、samb服务基础

  软件包:samba

  协议:SMP(TCP139)CIFS(445)

  配置文件路径:/etc/samba/smb.conf

  所需服务器:svr7(ip192.168.4.7)和myhost2

三、samba服务器的配置步骤

1、安装软件

[root@svr7 ~]# yum -y install samba

2、起服务

[root@svr7 ~]# systemctl restart smb

3、samba帐号的管理

samba用户:a、提前建立同名的系统用户(可不设置密码)

b、采用独立于系统的密码

   管理工具:pdbedit

    添加用户:-a

      查询用户:-L

      删除用户:-x

[root@svr7 ~]# useradd user          //添加系统用户
[root@svr7 ~]# pdbedit -a user //添加与系统用户同名的samba用户
new password: //交互式设置密码
retype new password:
Unix username: //添加成功后显示的内容
NT username:
Account Flags: [U ]
User SID: S-------
Primary Group SID: S-------
......................
[root@myhost1 smb]# pdbedit -L         //查看samba用户列表
user::
user1::

4、配置文件及参数

[root@svr7 ~]# vim /etc/samba/smb.conf
[global] //全局配置 workgroup = MYGROUP [homes] //家目录共享 [printers] //打印机共享
[samba]
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 = 注释 //说明

5、修改用户对目录的读写执行权限

root@svr7 ~]# setfacl -m u:user:rwx /smb

6、SELinux对samba共享的保护

a、用getseboolbool查看selinux开关

[root@svr7 ~]#getsebool -a | grep samba_export
samba_export_all_ro --> off
samba_export_all_rw --> off //是否允许可读写共享

b、用setsebool控制SELinux开关

[root@svr7 ~]# setsebool -P samba_export_all_rw=on
[root@svr7 ~]# setsebool -P samba_export_all_ro=on //打开

四、客户端访问共享目录

所需软件包:samba-client

1、列出共享资源:smbclient -L 服务器地址

[root@myhost2 ~]smbclient -L 192.168.4.7
Enter root's password: //此处无需输入密码,直接回车
Anonymous login successful
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.2.] Sharename Type Comment
--------- ---- -------
................................

2、连接到目标主机的共享目录

[root@myhost2 ~]# smbclient  -U user //192.168.4.7/tools(共享名)
Enter user's password: //输入samba用户user的密码
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.2.]
smb: \> ls
. D Fri Jul ::
.. DR Fri Jul ::
D Fri Jul ::

配置过程中可能遇到的问题

、客户端登录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)
、客户端连接到samba共享目录时出现以下提示:
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*
文件权限不足,或者存在selinux限制
调整文件的权限,并打开selinux开关
、执行setsebool -P 操作启用SElinux开关参数时失败,提示:Killed
内存不足,而且交换空间也不足
添加交换分区(1GB)在重试

最新文章

  1. 关于Spring中的<context:annotation-config/>配置
  2. /etc/ethers【地址映射】
  3. 源代码版本管理与项目管理软件的认识与github的注册
  4. JavaWeb:Web与HTTP协议简介
  5. SQL Server:字符串函数
  6. Apache模块管理
  7. hdu1116
  8. [c#]如何在form的webbrowser控件中获得鼠标坐标
  9. django 调试 监控文件变化 自动刷新浏览器
  10. 翻译连载 | 第 11 章:融会贯通 -《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇
  11. (十七)TableView的本地性能优化
  12. P2690 接苹果 (DP)
  13. 寻求js
  14. libSVM在matlab下的使用安装
  15. 复习下C 链表操作(双向循环链表,查找循环节点)
  16. Wijmo 2017路线图
  17. 【4】 .net MVC使用Session验证用户登录
  18. Maven 打jar包,pom文件配置
  19. pip install bs4安装失败
  20. Orchard运用 - 理解App_Data目录结构

热门文章

  1. SVN目录权限配置
  2. CSS 解决IE6双倍距离BUG
  3. html5 经验记录 持续更新
  4. MySQL<添加、更新与删除数据>
  5. C++11新特性之八——函数对象function
  6. poj_3352 连通图的桥
  7. 【PHP】使用openssl进行Rsa长数据加密(117)解密(128)
  8. 【CSS系列】图像映射
  9. poj2096 Collecting Bugs[期望dp]
  10. 由JS函数返回值引发的一场”血案"