samba文件共享服务配置一(共2节)

1、samba服务简介

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

2、samb服务基础

   软件包:sambavim

  协议:SMP(TCP139)CIFS(445)服务器

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

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

3、samba服务器的配置步骤工具

一、安装软件spa

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

二、起服务rest

[root@svr7 ~]# systemctl restart smb

三、samba账号的管理code

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

                      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-1-5-21-2938114846-3327256202-3573822823-1000
Primary Group SID:    S-1-5-21-2938114846-3327256202-3573822823-513
  ......................
 
[root@myhost1 smb]# pdbedit -L         //查看samba用户列表
user:1001:
user1:1002:

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

六、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       //打开

4、客户端访问共享目录

所需软件包:samba-client

一、列出共享资源: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.3]

    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.3]
smb: \> ls
 .                                   D        0  Fri Jul 28 22:02:25 2017
 ..                                 DR        0  Fri Jul 28 21:32:58 2017
 123                                 D        0  Fri Jul 28 22:02:25 2017 

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

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)在重试 
相关文章
相关标签/搜索