在CentOS 7上构建RAID5、LVM和SAMBAserver(5)——架设SAMBAserver

6. 架设SAMBAserver

6.1. 预备

本节的任务是配置SAMBA服务,共享/home/shared文件夹,使指定的Windows用户能够远程訪问该共享。

首先要在CentOS上执行yum命令安装SAMBA服务:

yum install samba

安装之后,运行systemctl命令来启动smb和nmb两个samba的守护进程。

图37 启动SAMBA

6.2. 改动smb.conf文件

改动/etc/smb.conf文件。包含:

  • 改动hosts allow属性,设置可訪问的远程计算机的IP地址段。本例是同意本机、192.168.0网段(物理网络IP网段)、192.168.40网段(虚拟机网段):
hosts allow = 127. 192.168.0. 192.168.40.
  • 改动SAMBAserver的NETBIOS名。设置为MYSMBSVR:
netbios name = MYSMBSVR
  • 改动共享工作组名,设置为WORKGROUP:
workgroup = WORKGROUP
  • 因为本例的SAMBAserver是作为独立server执行。因此设置security属性为user,使用用户身份认证:
security = user
passdb backend = tdbsam
  • 加入同意訪问SAMBA服务的用户
pdbedit –a kingfox

图38 加入SAMBA用户

注意:pdbedit加入的用户必须是系统中已经存在的用户。否则系统会拒绝加入该用户:

图39 加入SAMBA用户失败

  • 在/home文件夹下创建可被共享的文件夹,命名为shared,然后改动/etc/samba/smb.conf中的[public]节,取消这一节的全部凝视,设置path属性的值为/home/shared。

  • smb.conf的配置例如以下所看到的:

图40 smb.conf主要设定

  • 保存smb.conf。接下来能够用testparm命令检查刚才的设置是否有误:

图41 用testparm检验cmb.conf

6.3. 调整防火墙

开放防火墙中的samba、samba-client相关服务和port:

图42 设定防火墙

亦可用下面命令序列:

firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd--permanent --zone=public --add-service=samba-client
firewall-cmd --reload

完毕对防火墙的调整。第一个命令将samba服务增加到防火墙public区的永久生效策略中,第二个命令是又一次载入防火墙策略,以使第一条命令生效。

至此。samba服务已完毕设定,用systemctl restart smb命令重新启动smb和nmb服务就可以。

6.4. 配置SAMBA服务为自己主动启动

systemctl enable smb nmb

图43 配置SAMBA服务为自己主动启动

至此,SAMBA服务配置完成。

6.5. 调整SELinux策略

假设不关闭SELinux,则client能浏览到共享目录,但无法对其进行写操作。使用命令setenforce permissive关闭SELinux。这个命令运行之后,在遇到能够行为时,SELinux会发出一系列警告,但不会真正依照策略去阻止。

可是setenforce命令仅仅能暂时有效。系统重新启动之后,SELinux会被自己主动开启。

为了永久关闭SELinnux,须要编辑/etc/selinux/config文件。内容改动例如以下:

图44 关闭SELinux

可是关闭SELinux会导致安全性减少。并非可取的办法,应该通过调整各种策略来实现使SELinux放行訪问SAMBA的行为。

如今恢复SELinux的原始设置。然后运行命令:

chcon -t samba_share_t shared/ -R

chcon命令用于改变文件或文件夹的SELinux安全标签,在运行这个命令之前。/home/shared文件夹的安全标签是root_t(这是root用户创建的)。运行这个命令之后,用ls –Zd shared命令能够看到,/home/shared文件夹的SELinux安全标签变成了samba_share_t。这样就既确保了系统的安全。亦开放了SAMBA的訪问通道。

假设运行setsebool -Psamba_enable_home_dirs on命令,还将打开用户的home文件夹的訪问权限。

6.6. 測试samba服务

首先向/home/shared文件夹下复制一些文件。

1)在linux环境下測试:

在终端中运行命令:

smbclient //localhost/public –U kingfox

输入kingfox用户的password之后。过几秒钟,正常情况下,会出现smb:\>提示符,说明SAMBA服务已经能够被连接上。

在smb:\>提示符下运行ls命令,能够看到列出了/home/shared文件夹下的文件清单:

图45 连接SAMBA

这个測试既能够在SAMBAserver本机运行。亦能够在还有一台Linux终端上运行,效果是一样的。

2)在Windows环境下測试:

在资源管理器中打开“网上邻居”,耐心等几秒钟,会发现网上邻居或“网络”目录里出现前面设定的SAMBAserver名称MYSMBSVR:

图46 Windows 7的“网络”目录

双击MYSMBSVR。输入前面用pdbedit命令加入的username和訪问password之后,可看到里面的共享目录:

图47 浏览共享目录

双击public文件夹可看到当中的文件。并对文件进行读写操作。

因为刚才是用kingfox用户登录的,所以还能訪问kingfox在CentOS虚拟机上的home文件夹的内容。

在CentOS 7上构建RAID5、LVM和SAMBAserver(5)——架设SAMBAserver的更多相关文章

  1. 在CentOS上构建.net自动化编译环境

             我们知道在Windows上我们很容易构建于MSBuild的自动化编译环境,那么在CentOS也是可以的,主要是需要Mono. 在这儿我们选择Jenkins+Gitlab+Mono在C ...

  2. 如何在 CentOS 7 上安装 Redis 服务器

    大家好,本文的主题是 Redis,我们将要在 CentOS 7 上安装它.编译源代码,安装二进制文件,创建.安装文件.在安装了它的组件之后,我们还会配置 redis ,就像配置操作系统参数一样,目标就 ...

  3. 在 CentOS 7上Virtualbox+phpVirtualBox完整虚拟化环境部署

    一.phpVirtualBox简介      VirtualBox是一套为不同操作系统而设的 x86 虚拟化产品.它是一个机器/硬件的虚拟化产品,功能上与 VMware Server.Parallel ...

  4. CentOS 7上搭建Docker环境

    一.Docker介绍和安装 http://linux.cn/article-4340-1.html Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单.容器就像是轻量级的虚拟机 ...

  5. 在Centos 7上安装配置 Apche Kafka 分布式消息系统集群

    Apache Kafka是一种颇受欢迎的分布式消息代理系统,旨在有效地处理大量的实时数据.Kafka集群不仅具有高度可扩展性和容错性,而且与其他消息代理(如ActiveMQ和RabbitMQ)相比,还 ...

  6. 如何在 CentOS 7 上安装 Python 3

    当前最新的 CentOS 7.5 默认安装的是 Python 2.7.5,并且默认的官方 yum 源中不提供 Python 3 的安装包.这里主要介绍两种在 CentOS 7 中安装 Python 3 ...

  7. 在 CentOS 7上安装并配置 Python 3.6 环境

    前言 按照此方法安装保证以下报错什么的统统都没有! 基础环境 系统:centos7.4 软件:python3 Retrying (Retry(total=0, connect=None, read=N ...

  8. CentOS 7上的程序管理:rpm、yum和源码编译安装

    简介 在Linux的早期时代(也许吧?我猜的.也可能是Unix.),想要在系统上安装一款应用程序,是比较复杂的.需要专业的人员自行获取程序的源代码,并且编译安装,这是非常的复杂且需要一定的专业功底的, ...

  9. 如何在CentOS 7上安装Node.js和npm

    Node.js是一个跨平台的JavaScript运行时环境,允许在服务器端执行JavaScript代码.Node.js主要用于后端,但也作为全栈和前端解决方案而流行. npm,Node软件包管理器的缩 ...

随机推荐

  1. 【Vjudge】P1989Subpalindromes(线段树)

    题目链接 水题一道,用线段树维护哈希值,脑补一下加减乱搞搞……注意细节就过了 一定注意细节…… #include<cstdio> #include<cstdlib> #incl ...

  2. 【Luogu】P3358最长k可重区间集问题(费用流)

    题目链接 这题费用瘤,数据貌似还是错的. 把线段抽象抽象拆成两个点,入点表示左端,出点表示右端,连上容量为1费用-长度的边. 不相交线段随便连下,源点向拆出的原点S'连费用为0容量k,然后跑费用流. ...

  3. 刷题总结——小c找朋友(bzoj4264 集合hash)

    题目: Description 幼儿园里有N个小C,两个小C之间可能是朋友也可能不是.所有小C之间的朋友关系构成了一个无向图,这个无向图中有M条边. 园长ATM发现对于两个(不同的)小Ci和j,如果其 ...

  4. 【bzoj4031】[HEOI2015]小Z的房间 && 【bzoj4894】天赋 (矩阵树定理)

    来两道矩阵树模板: T1:[bzoj4031][HEOI2015]小Z的房间 Description 你突然有了一个大房子,房子里面有一些房间.事实上,你的房子可以看做是一个包含n*m个格子的格状矩形 ...

  5. 卸载重安firefox

    把firefox完全卸载掉重装: 查看安装的firefox版本: dpkg --get-selections |grep firefox 根据命令结果卸载重装 比如: $ dpkg --get-sel ...

  6. WKWebView与js交互中产生的内存泄漏

    最近开发中突然发现富文本帖子详情内存没有释放掉,找了好久问题都没找到,终于今天发现了问题,先上一点代码片段 WKWebViewConfiguration *configuration = [[WKWe ...

  7. [转载][FPGA]Quartus代码保护-生成网表文件

    0. 简介 当项目过程中,不想给甲方源码时,该如何?我们可以用网表文件qxp或者vqm对资源进行保护. 下面讲解这两个文件的具体生成步骤: 1. 基本概念 QuartusII的qxp文件为Quartu ...

  8. 再次了解android中屏幕尺寸,单位等

    android设备多种多样,要让你的app能够适配所有的屏幕是一件很痛苦的事情,在做适配之前我们首先需要了解android中dimension的定义 android中dimension是如何定义的? ...

  9. Java随机数技巧-新手篇

    package 向家康; import java.util.concurrent.ThreadLocalRandom; public class 练习21 { public static void m ...

  10. HttpClient的Post请求数据

    最近在项目中需要添加Post请求数据,以前的Get请求是使用JDK自带的URLConnection.在项目组人员的推荐下,开始使用HttpClient. HttpClient简介: HttpClien ...