一、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. 【转】理清基本的git(github)流程

    概述 当我初次接触git时,我需要快速学习基本的git工作流,以便快速接收一个开源Web项目维护.但是,我很难理解工作流程,因为我不太了解git使用关键点. fork,clone,pull.branc ...

  2. SSL 证书配置nginx

    ssl.conf文件: server { listen 443; server_name www.domain.com; # 改为绑定证书的域名 ssl on; ssl_certificate 1_w ...

  3. [ExtJs] ExtJs4.2 数据模型Ext.data.Model学习

    Model代表应用程序管理的一些对象.例如,我们可能会为 我们想在系统中建模的现实世界中的一些物体像使用者.产品和汽车等定义一个Model.这些Model在 Ext.ModelManager中注册,被 ...

  4. 3、手把手教React Native实战之flexbox布局

    flexbox是Flexible Box的缩写,弹性盒子布局  主流的浏览器都支持 flexbox布局是伸缩容器(container)和伸缩项目(item)组成 Flexbox布局的主体思想是元素可以 ...

  5. oracle_存储过程_有参数_获取部门装置层级树

    create or replace procedure P_UTIL_TREE(P_APPL_NAME in VARCHAR2, P_HIERARCHY_TYP in VARCHAR2, TREETY ...

  6. [直观学习排序算法] 视觉直观感受若干常用排序算法 以及 iOS 资料

    http://www.zhfish.net/?s=点击范围 1 快速排序 介绍: 快速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要Ο(n log n)次比较.在最坏状况下则 ...

  7. tomcat日志保存在哪里?

    tomcat目录下的logs文件夹下.有个catalina.20xx-xx-xx.log

  8. 【Java nio】java nio笔记

    缓冲区操作:缓冲区,以及缓冲区如何工作,是所有I/O的基础.所谓“输入/输出”讲的无非就是把数据移出货移进缓冲区.进程执行I/O操作,归纳起来也就是向操作系统发出请求,让它要么把缓冲区里的数据排干,要 ...

  9. 重新学习python类

    之前觉得有java和c++的底子,对python的类没有认真研习,后面到了写项目的时候各种懵逼.终于决定彻底解决python的类问题. 一.python的类定义: class cls_name: de ...

  10. Weinre 远程调试移动端手机web页面

    调试场景 1.调试页面在手机上.2.调试工具在PC的chrome3.手机跟pc要在同一个网络环境下,也就是都使用一个wifi 一.安装 Weinre 1.Weinre是基于nodejs实现的,所以使用 ...