一、认识Samba
1、Samba应用环境:文件和打印机共享 、身份验证和权限设置、名称解析、浏览服务
2、了解SMB协议 :SMB(Server Message Block)通信协议可以看作是局域网上共享文件和打印机的一种协议。它是Microsoft和Intel在1987年制定的协议,主要是作为Microsoft网络的通信协议,而Samba则是将SMB协议搬到UNIX系统上来使用。通过“NetBIOS over TCP/IP”,使用Samba不但能与局域网络主机共享资源,也能与全世界的计算机共享资源。因为互联网上千千万万的主机所使用的通信协议就是TCP/IP。SMB是在会话层和表示层以及小部分的应用层的协议,SMB使用了NetBIOS的应用程序接口API。
3、Samba相关进程 Samba服务是由两个进程组成,分别是nmbd和smbd。
(1)nmbd:其功能是进行NetBIOS名解析,并提供浏览服务显示网络上的共享资源列表。
(2)smbd:其主要功能就是用来管理Samba服务器上的共享目录、打印机等,主要是针对网络上的共享资源进行管理的服务。当要访问服务器时,要查找共享文件,这时我们就要依靠smbd这个进程来管理数据传输。
二、配置samba服务(进入正题)
1.安装并启动samba服务(在此之前必须配置好yum源,可以参考我之前的yum源本地配置)
建议在安装samba服务之前,使用rpm -qa |grep samba命令检测系统是否安装了samba相关性软件包:
(1)[root@localhost ~]# rpm -qa | grep samba 默认已经安装的软件包
(2)使用yum命令查看samba软件包的信息
[root@localhost ~]# yum info samba
(3)使用yum命令安装samba服务 安装了2个依赖包
(4)所有软件包安装完毕,可以使用rpm命令再一次进行查询
(5)启动与停止samba服务,设置开机启动
[root@localhost ~]# systemctl start smb 启动服务
[root@localhost ~]# systemctl enable smb 开机自启
Created symlink /etc/systemd/system/multi-user.target.wants/smb.service → /usr/lib/systemd/system/smb.service.
[root@localhost ~]# systemctl restart smb 重启服务
[root@localhost ~]# systemctl stop smb 停止服务
[root@localhost ~]# systemctl start smb 启动服务
注意:在Linux的服务中,我们更改了配置文件后,一定要记得重启服务,让服务重新加载配置文件,这样新的配置才可以生效。(start/restart/reload)
2.主要配置文件smb.conf
samba的配置文件一般就放在/etc/samba目录中,主配置文件名为smb.conf
(1)Samba服务程序中的参数以及作用 参数图片链接
使用ll命令查看smb.conf文件属性,并使用vim /etc/samba/smb.conf 查看文件详细内容
先备份一下主配置文件,一旦发现错误可以随时从备份文件中恢复主配置文件 操作如下
(2)Share Definitions共享服务的定义
1.设置共享名。 共享名的设置非常简单,格式为: [共享名]
2.共享资源描述。格式: comment = 备注信息
3.共享路径 格式: path = 绝对地址路径
4.设置匿名访问。 设置是否允许对共享资源进行匿名访问,可以更改public字段。格式: public = yes #允许匿名访问 public = no #禁止匿名访问
例如 :samba服务器中有个目录为/share,需要发布该目录成为共享目录,定义共享名为public,要求:允许浏览、允许只读、允许匿名访问。设置如下所示。
5.设置访问用户。 如果共享资源存在重要数据的话,需要对访问用户审核,我们可以使用valid users字段进行设置。格式: valid users = 用户名 valid users = @组名
valid users = 用户名
valid users = @组名
6.置目录只读。 共享目录如果限制用户的读写操作,我们可以通过read only实现。 格式: read only = yes #只读 read only = no #读写
7.设置过滤主机。 hosts allow = 192.168.10. server.abc.com 上述程序表示允许来自192.168.10.0或 server.abc.com的访问者访问samba服务器资源。 hosts deny = 192.168.2. 上述程序表示不允许来自192.168.2.0网络的主机的访问者访问当前samba服务器资源。
8.设置目录可写。:
writable格式:writable = yes #读写 writable = no #只读
write list格式: write list = 用户名 write list = @组名;
(3)samba服务密码文件
samba中添加账号的命令为smbpasswd,格式为: smbpasswd -a 用户名
1.建立Linux系统账号reading设置密码
2.添加reading用户的samba账户。
[root@localhost ~]# useradd reading 创建用户
[root@localhost ~]# passwd reading 设置密码
[root@localhost ~]# smbpasswd -a reading把用户与samba关联,之后输入用户密码
标签:Samba,配置,samba,服务器,共享,root,smb,localhost From: https://www.cnblogs.com/pldygf/p/16825529.html