阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux/CentOS7 Samba服务器配置详解

203次阅读
没有评论

共计 2970 个字符,预计需要花费 8 分钟才能阅读完成。

先满足前提条件配置静态 ip,有相应的系统用户(文章中会有匿名访问的方法),为了实验的测试,要关闭防火墙,放行 Samba 的流量:

Linux/CentOS7 Samba 服务器配置详解

由于 Samba 服务包文件的依赖关系过多,所以选择用 yum 安装,执行以下操作删除系统默认的 yum 配置文件,并编写 yum 配置文件:

Linux/CentOS7 Samba 服务器配置详解

yum 配置文件的内容如下:

Linux/CentOS7 Samba 服务器配置详解

执行以下命令,安装 Samba 服务的所有有依赖关系的软件包:

Linux/CentOS7 Samba 服务器配置详解

Linux/CentOS7 Samba 服务器配置详解

安装成功后,执行以下命令,进入 Samba 服务的配置文件中,增加共享目录(在这之前我们要有用来共享的目录文件,以及系统用户账号)

Samba 服务的配置文件如下:

Linux/CentOS7 Samba 服务器配置详解

在“smb.conf”文件中存在三个特殊的配置段:

[global]:全局设置:这部分配置项的内容对整个 Samba 服务器都有效。

[homes]:宿主目录的共享设置:设置 Linux 用户的默认共享,对应用户的宿主目录。当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将自动映射到该用户的宿主文件夹中。

[printers]:打印机共享设置:如果需要共享打印机设备,可以在这部分进行配置

Smb.conf 文件中常见的配置项及含义说明:

常见全局配置项的含义
workgroup:所在工作组名称;

server string:服务器描述信息;

security:安全级别,可用值如下:User(本服务器验证连接)、server(指定另一台服务器验证)、ads(由 Windows 域控制器验证);

log file:日志文件位置,“%m”变量表示客户机地址;

passwd backend:设置共享账户文件的类型;

comment:对共享目录的注释、说明信息;

path:共享目录在服务器中对应的实际路径;

browseable:该共享目录在“网上邻居”中是否可见;

guest ok:是否允许所有人访问,等效于“public”;

writable:是否可写,与 read only 的作用相反;

我们想要共享某个目录时,在配置文件的最后另起一行,按照上面的格式输入相应的信息,就可以了

Linux/CentOS7 Samba 服务器配置详解

以上是我要共享的目录,目录属主为用户“test”,为了方便,权限给到了最大,在实际中可以根据情况设置相应的权限,在 smb.conf 配置文件中写入以下字段:

Linux/CentOS7 Samba 服务器配置详解

其中各项含义如下:

comment:共享目录的描述信息;

path:设置对应共享目录在服务器上的文件夹路径;

public:是否所有人可以访问共享目录;

read only:是否只读,与“writable”作用相反;

valid users:共享目录的授权设置,允许哪些用户访问共享目录,这里设置了两个用户“test”和“root”。也可授权一个组,可以使用:“@组名”的形式,但也需要为组内的每个系统用户创建对应的 Samba 共享用户。

write list:设置共享目录为“只读”后,也可以单独授予某些用户有写入的权限(这里授权“root”用户可以写入);

写入上述信息后,保存退出即可,若要共享多个目录,另起一行以同样的格式写入即可;

保存退出后,可以使用:“testparm”命令工具对“smb.coonf”配置文件的正确性进行检查,如果发现有错误将会进行提醒。如下:

Linux/CentOS7 Samba 服务器配置详解

没有提示错误,接下来启动 smb 服务,并查看 smb 服务状态:

Linux/CentOS7 Samba 服务器配置详解

访问共享目录的用户密码不是系统用户的密码,但用户名一样,我们还要使用“pdbedit -a”创建和系统用户对应的 Samba 共享用户,如下:

Linux/CentOS7 Samba 服务器配置详解

执行相同的操作把用户 root 也添加到共享用户即可。

命令 pdbedit -L:可以列出所有的 Samba 共享用户,若只想查看某个用户,可以指定用户名作为参数,结合“-v”可以输出更详细的信息,如:pdbedit -vL test(输出共享用户 test 的详细信息)

使用“-x”选项并指定用户名,也可删除共享用户,例如:“pdbedit -x -u test”可以删除共享用户 test

共享用户建立后,就可以使用客户端验证了:

Linux/CentOS7 Samba 服务器配置详解Linux/CentOS7 Samba 服务器配置详解Linux/CentOS7 Samba 服务器配置详解

以上“myshare”为我们设置的共享目录,“test”是默认共享的用户宿主目录

为了安全起见,也可以将一个共享用户映射为多个不同的名称(别名),这样就可以通过共享用户的别名和密码来访问共享资源了,需要先编写别名的文件,格式如下:

新打开一个文件
Linux/CentOS7 Samba 服务器配置详解

写入以下内容:
Linux/CentOS7 Samba 服务器配置详解

上述内容时把共享用户“test”创建了三个别名,分别是“mike”“jerry”“terry”

创建别名文件后,若要正常启用共享账号的别名,还需要修改主配置文件“/etc/samba/smb.conf”,添加全局配置项:“username map = /etc/samba/smbusers”,等号后面的路径为我们编写的别名文件路径;

【注意,当 Samba 服务的配置文件有改动的话,一定要重启(systemctl restart smb)或重载(systemctl reload smb)服务】

也可以在 smb 的全局配置中通过“hosts allow”和“hosts deny”来进行访问限制,前者用于指定仅允许访问共享的客户机地址,后者用于指定仅拒绝访问共享的客户机地址,两者任选其一即可。

访问地址限制一般应用于[global] 全局配置部分,也可应用于某个具体的共享配置段部分,限制的对象可以是主机名、ip 地址或者网络段地址(省去主机部分),多个地址之间以逗号或空格进行分隔。如下:仅允许来自 192.168.4.0/24、173.17.0.0/16 网段的客户机访问 Samba 服务器

也可以在共享目录或全局配置项中添加以下字段,表示允许匿名访问:

map to guest = Bad User

Linux/CentOS7 Samba 服务器配置详解

也可以在 Linux 客户端上访问 Samba 服务器,简单的方法就是将共享目录挂载到本地目录,访问也方便,具体格式如下:

Linux/CentOS7 Samba 服务器配置详解

更多 Samba 相关教程见以下内容:

CentOS 7.2 安装配置 Samba 服务器  https://www.linuxidc.com/Linux/2017-03/141390.htm
VMWare 虚拟机 Ubuntu 双网卡 访问 samba 速度 翻倍 https://www.linuxidc.com/Linux/2013-06/85445.htm
samba 安装使用图解  https://www.linuxidc.com/Linux/2017-03/141254.htm
CentOS7.2 下源码搭建 Samba 文件服务器 [原创] https://www.linuxidc.com/Linux/2017-06/144557.htm
如何在 Ubuntu 16.04 上安装和配置 Samba 服务器以进行文件共享  https://www.linuxidc.com/Linux/2017-11/148194.htm
CentOS 7 下 Samba 服务安装与配置详解 https://www.linuxidc.com/Linux/2017-11/148354.htm
Red Hat 6.5 下 Samba 服务器搭建 https://www.linuxidc.com/Linux/2017-07/145747.htm
如何在 Ubuntu 17.10 上使用 System-Config-Samba  https://www.linuxidc.com/Linux/2018-01/150493.htm

Ubuntu 18.04 安装 Samba 服务器及配置  https://www.linuxidc.com/Linux/2018-11/155466.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2970字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中