一、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)在重试

samba文件共享服务配置一(共2节)的更多相关文章

  1. samba文件共享服务配置(multiuser机制)二 (共两节)

    smb客户端的multiuser挂载技术 --管理员只需要作一次挂载 --客户端在访问挂载点时,若需要不同权限,可临时切换新的共享用户[无需重新挂载] 实现方式 --挂载smb共享时启用multius ...

  2. Linux Samba文件共享服务配置

    http://blog.csdn.net/xht555/article/details/4631063

  3. samba文件共享服务的配置

    samba文件共享服务的配置 服务端配置 一.安装samba软件包 命令:yum -y install samba 查看是否安装samba. [root@Centos7-Server haha]# [ ...

  4. Centos6.5---samba文件共享服务配置(二)

    Linux-----samba服务配置(二) 需求: 某公司销售部门提出一个文件共享需求,要求部门共享目录有三个,第一个共享目录所有销售部门人员都具有可读可写权限:第二个共享目录所有销售人员只读权限, ...

  5. Centos6.5---samba文件共享服务配置(一)

    Linux---------samba文件共享服务配置(一) samba是一个实现不同操作系统之间文件共享和打印机共享的一种SMB协议的免费软件. https://www.cnblogs.com/zo ...

  6. Linux基础学习-Samba文件共享服务

    使用Samba文件共享服务 Samba起源: 早期网络想要在不同主机之间共享文件大多要用FTP协议来传输,但FTP协议仅能做到传输文件却不能直接修改对方主机的资料数据,这样确实不太方便,于是便出现了N ...

  7. 红帽7配置samba文件共享服务

    samba软件主要功能是为客户机提供共享使用的文件夹. 使用的协议是SMB(TCP 139).CIFS(TCP445). 所需的软件包:samba 系统服务:smb 1.安装samba服务 ~]#yu ...

  8. Linux Samba文件共享服务,安装与案例配置

    Samba服务器安装和配置 1:安装Samba服务器软件包 [root@localhost ~]# rpm -qa | grep samba [root@localhost ~]# yum -y in ...

  9. Samba文件共享服务

    Samba起源: 早期网络想要在不同主机之间共享文件大多要用FTP协议来传输,但FTP协议仅能做到传输文件却不能直接修改对方主机的资料数据,这样确实不太方便,于是便出现了NFS开源文件共享程序:NFS ...

随机推荐

  1. C#读取Excel日期时间

    //如果为20171219 if (dt.Rows[i][title].ToString().Trim().Length == 8) { realDate = dt.Rows[i][title].To ...

  2. python 数据类型详解(转)

    转自:http://www.cnblogs.com/linjiqin/p/3608541.html 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1. ...

  3. python2.0_day19_充分使用Django_form实现前端操作后台数据库

    在前面的<python2.0_day19_学员管理系统之前端用户交互系统>一节中,我们实现了前端展示customer客户纪录.在<python2.0_day19_前端分页功能的实现& ...

  4. 对C语言进行调试的最好方法是什么?

    要了解调试程序的最好方法,首先要分析一下调试过程的三个要素: 应该用什么工具调试一个程序? 用什么办法才能找出程序中的错误? 怎样才能从一开始就避免错误? 应该用什么工具调试一个程序? 有经验的程序员 ...

  5. 小程序的movable-view怎么持续移动

    在小程序的官方例子中,点击按钮以后的movable-view只是挪动了一次(链接:https://mp.weixin.qq.com/debug/wxadoc/dev/component/movable ...

  6. AFNetworking 上传文件

    本文转载至 http://blog.csdn.net/hmt20130412/article/details/36487055 文件上传AFNetworking @第一种:我的 #pragma mar ...

  7. 剑指offer练习

    1.题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.  public c ...

  8. delphi 获取本机IP地址和MAC地址

    unit NetFunc; interface uses SysUtils, Windows, dialogs, winsock, Classes, ComObj, WinInet, Variants ...

  9. 关于Java中按值传递和按引用传递的问题详解

    写了两个方法,一个是多关键字的快速排序,一个是基于多关键字的基速排序.两个方法的参数列表是一样一样的,但是快速排序正常工作,但是基数排序传出来的参数一点没有改变,苦思冥想了半天也没想通是怎么回事,于是 ...

  10. chrome单步调试代码

    单步调试代码 所有步骤选项均通过边栏中的可点击图标 表示,但也可以通过快捷键触发(鼠标悬停在操作图标上就可以看到快捷键).下面是简要介绍: 图标/按钮 操作 描述 Resume 继续执行直到下一个断点 ...