RHEL6.3配置文件共享(3) Samba服务之一

我们前面介绍的NFS服务只能在Linux系统之间实现文件共享,但是企业网络中的绝大多数客户端都是使用Windows系统,那么我们能否在一台安装有Linux系统的服务器上设置文件共享,然后作为文件服务器提供给网络中的Windows客户端访问呢?这就要用到Samba服务。

Samba服务的主要功能就是实现Linux系统和Windows系统之间的互访,既可以在Windows客户端上访问Linux服务器上的文件共享,也可以在Linux客户端上访问Windows服务器上的文件共享,因而相比NFS服务更具有实践意义。

Samba服务基于SMB服务消息块协议和CIFS通用互联网文件系统协议,Samba服务对应的进程有2个:

095017192.jpg

文件共享功能主要是由smbd进程提供的,nmbd进程主要提供主机名称解析功能,也就是令客户端可以通过计算机名的方式去访问服务端。我们主要考虑的是smbd进程,它对应的进程服务名为smb。

Samba服务默认并没有安装,所以我们要先执行“yum install samba”命令安装服务。
安装完成后,启动服务,并设为永久启动。
[root@localhost ~]# service smb start
启动 SMB 服务:                                            [确定]
[root@localhost ~]# chkconfig smb on


Samba服务的主配置文件为/etc/samba/smb.conf,该文件中的内容比较多,其中大多是以“#”开头的注释行,以及以“;”开头的配置样例行。样例行是对配置内容的举例,用户可以参考样例行进行配置。无论是注释行还是样例行,Samba服务器都将予以忽略。
使用vim编辑器打开该文件,可以发现其中主要包括三部分内容:
【global】全局设置:这部分配置项的内容对整个Samba服务器有效。

全局配置中的主要设置项目:

101806841.jpg

设置Samba服务器所在的工作组以及对工作组的描述信息。当在Windows客户端上通过网上邻居的方式访问文件共享时,才需要用到工作组,我们现在已经很少去使用网上邻居了,所以这部分信息如何设置都无所谓。

102210321.jpg

这部分是用来设置Samba服务器的日志存放位置以及日志文件大小,一般无需改动。

102325252.jpg

security用来设置安全级别,passdb backend用来设置用户密码存放位置。

其中security是全局设置中最重要的一个设置项目,主要有以下几种安全级别:

102546378.jpg

安全级别中比较常用的是share和user。

 

除了全局设置之外,另外两部分是对用户主目录和打印机的默认共享设置。

102916684.jpg

[homes]部分是对用户主目录的默认共享设置,也就是说Samba服务器默认将所有用户的主目录都设为了共享。当在客户端以Samba服务器中某个系统用户的身份登录时,就会看到自己的主目录,并且具有写入权限。当然每个用户只能看到自己的主目录,别人的主目录是无法看到的。

[printers]部分是打印机的默认共享设置,如果系统中并没有安装打印机,那么可以将这部分内容注释掉,或者无需理会。


下面我们来创建一个最简单的匿名共享,即所有客户端无需进行身份验证,直接就可以访问共享文件。

首先创建共享目录,并在其中放一个测试文件:
[root@localhost ~]# mkdir /home/share
[root@localhost ~]# echo ‘hello,world!’ > /home/share/hello.txt
然后修改配置文件:
[root@localhost ~]# vim /etc/samba/smb.conf
首先在【global】全局设置中设置“security = share”,允许匿名访问。

110201282.jpg

然后按“G“键将光标移动到文件末尾,在这里提供了一个设置范例:

104101524.jpg

我们可以按照这个范例来设置要共享的目录:

104412961.jpg

对设置项目的解释:

  • [share]:共享名,可自由定义。

  • comment:对共享的描述信息,可自由定义。

  • path:共享目录的路径,必须为绝对路径。

  • public:是否允许所有用户访问。

  • writable:是否允许写入。

范例中倒数第二行的printable,是指是否需要提供打印共享,这个一般无需设置。

范例中的最后一行write list,是指允许写入的用户列表。由于我们设置了拒绝写入,所以这一项也不需设置。

设置完成后,保存退出,然后重启smb服务生效。
[root@localhost ~]# service smb restart


然后我们在另一台Windows客户端上进行访问测试,输入Samba服务器文件共享的UNC路径:

105323500.jpg

但此时却发现虽然可以匿名访问,并可以看到share共享目录,但却无法看到其中的内容,这是由于Samba服务器上的SELinux导致的,关于SELinux的配置我们也放到以后再说,这里先将Selinux关闭,也就是将其改为许可模式。
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
然后在客户端再次测试,就可以正常访问了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值