samba服务器

Samba是连接Linux与Windows的桥梁,真是由于Samba的出现,我们才可以在Linux和Windows间互相通信。

1、Samba服务器配置的工作流程

(1)编辑主配置文件smb.conf,指定需要共享的目录,并未共享目录设置共享权限。

(2)在smb.conf文件中指定日志文件名称和存放路径。

(3)设置共享目录的本地系统权限

(4)重新加载配置文件或重新启动SMB服务,使配置生效。

2、解读主要配置文件smb.conf

2.1 Global Settings

Global settings 设置为全局变量区域。全局变量区域就是我们只要在Global是进行设置那么该设置项目就是针对所有共享资源生效的

[Global]常用字段及设置方法如下

(1)设置工作组或域名称

工作组是网络中地位平等的一组计算机,可以通过设置workgroup字段来对Samba服务器所在工作组或域名进行设置。

(2)设置Samba服务器安全模式

Samba服务器一共share,user,server,domain和ads五种安全模式。

2.2 客户端访问控制

hosts allow 字段定义允许访问的客户端
hosts deny 字段定义禁止访问的客户端

3、最常用的几个字段

(1)设置共享名

格式:
[共享名]

(2)共享资源描述

comment = 备注信息

(3)共享资源路径

path = 资源的绝对路径

(4)设置匿名访问

public = yes    //允许匿名访问
public = no   //不允许匿名访问

(5)设置访问用户

valid users = 用户名
valid users = @组名
valid users = @组名,用户名

(6) 设置目录只读

read only = yes //只读
read only = no  //读写

(7)设置目录可写

writable = yes   //读写
writable = no    //只读

4、Samba服务密码文件

samba服务器发布共享资源后,客户端访问samba服务器,需要提交用户名和密码进行身份验证,验证合格才可以登录。Samba服务器为了实现客户身份验证功能,将 用户名和密码存放在/etc/samba/smbpasswd中,在客户端访问时,将用户提交的资料与smbpasswd存放的信息进行比对,如果相同,客户端与samba服务器的连接才能建立成功。

创建完成之后我们使用下方命令在samba服务中创建账号

useradd cyh     //创建系统账号
passwd cyh		//设置密码
smbpasswd -a  cyh  //创建samba服务账号        -a是添加samba用户

5、Share服务器实例解析

1.建立share目录,并在其下建立测试文件

mkdir /share
toch /share/toto

2.修改samba主配置文件smb.conf

[global]
        workgroup = SAMBA
        security = user
        map to guest = bad user
        guest ok = yes
[public]
        path = /share
        browseable = yes
        public = yes

3.修改文件/share的所有者和权限

[root@localhost ~]# mkdir /opt/samba
[root@localhost ~]# chmod 777 /opt/samba
[root@localhost ~]# chown nobody.nobody /opt/samba
nobody在linux中是一个不能登陆的帐号,特殊用户

4.重新加载配置文件

[root@localhost ~]# systemctl restart smb nmb
NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来
如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。

5.关闭防火墙和禁用selinux

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

6、samba服务器客户端的配置

我们可以使用两种不同的方法,在windows客户端和linux客户端之间进行登录samba服务器

6.1 Linux客户端访问Samba服务器

1.yum install -y samba-client     //需下载客户端软件包

2.smbclient可以列出目标主机共享目录列表。

格式如下:
smbclient -L 目标IP地址 -U 登录用户名        //不指定用户的话,默认是匿名用户登录

3.smbclient命令行共享访问模式浏览共享的资料。

格式如下:
smbclient //目标IP地址或主机名/共享目录 -U 用户名%密码

7.利用windows客户端访问Samba共享目录

方法1:windows+R

方法2:此电脑>映射网络驱动器