实验需求:1) 使用RPM包安装samba服务

2) 实现匿名访问,验证可以读写文件、目录

3) 实现指定用户的访问

4) 实现指定用户的访问,并为用户赋予不同的权限

启动LINUX系统,进行SAMBA服务器配置,并截图。

1.      为linux服务器的网卡设置IP地址:192.168.x.1/2,设置完毕后进入命令终端,查看设定的IP是否生效,用命令:ifconfig eth0,如果没有生效,重启网络服务,用命令:service network restart;虚拟机 XP系统IP地址设置为:192.168.x.2/24。(注:x为自己学号最后两位)

2.     在/media目录下新建目录RHEL,把第二个光驱/dev/sr1挂载到该目录(注:挂载前先把第二个虚拟光驱装载ISO文件,并连接)

  #mkdir /media/RHEL

      #mount /dev/sr1 /media/RHEL

4.安装Samba程序包

    安装前先用ls搜索Samba相关软件包,命令提示:#ls /media/RHEL/Packages/samba*

命令提示#rpm -ivh /media/RHEL/Packages/samba-3.6.9-164.el6.i686.rpm

5. 实现匿名访问,验证可以读写文件、目录

1) vi命令编辑samba主配置文件

[root@localhostsamba]# vi /etc/samba/smb.conf  #编辑主配置文件

[global]

workgroup = MYGROUP

server string = Samba Server Version %v

;     netbios name = MYSERVER

;     interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24

;     hosts allow = 127. 192.168.12. 192.168.13.

log file = /var/log/samba/log.%m

max log size = 50

security = share  

passdb backend = tdbsam

以上为[global]全局模式的配置内容,其他保持默认即可,我们关心的是如果要实现匿名访问,只需要修改 security 使安全级别为share(默认的为user)

下面是对share共享目录进行配置,在配置文件的末尾插入以下行

[share]                #指定目录的共享名称  

path= /opt/share       #指定共享share这个目录 

public= yes            #public设为yes允许匿名用户访问 

browseable= yes        #让匿名用户可以看到共享内容 

writable= yes          #设置可以有写入的权限 

create mask = 0644     #设置新建文件的权限,表示属主具有读写权限,其他人都只有只读权限(rw-r--r--) 

directory mask = 0755  #设置新建目录的权限,表示属主具有读写执行权限,其他人没有写入权限(rwxr-xr-x)

2)新建共享目录并启动samba服务

[root@localhostsamba]# mkdir /opt/share  #创建share共享目录

[root@localhostsamba]# chmod 777 /opt/share  #修改权限为777 

[root@localhostsamba]# service smb start  #启动samba服务

3)测试之前,必须把防火墙和selinux关掉

[root@localhost samba]# service iptables stop #关掉防火墙

[root@localhost samba]# setenforce 0  #关掉selinux服务

6. 效果验证:

1) 在客户机XP系统上测试能否ping通服务器,进入CMD控制台,ping 服务器IP 192.168.x.1

2) 在【开始】菜单的运行框中输入\\192.168.x.1,可以看到名为share的共享文件夹

3) 进入share文件夹,新建文件aa.txt和文件夹guest,在文件aa.txt里可以写入任何内容,文件夹下也能够再新建文件,和配置文件里的设置是一样的,匿名访问成功。

4) 切换到linux服务器,我们通过命令ls –l /opt/share查看共享文件夹下匿名用户访问时新建的文件,发现属主和属组都是nobody,新建的文件权限是644,文件夹的权限是755

nobody是一个系统账号,匿名访问新建的就会显示为nobody

7.  实现指定用户的访问

1) vi命令samba主配置文件

[root@localhost 桌面]# vi /etc/samba/smb.conf  #编辑主配置文件

因为是要指定用户进行访问了,所以[global]全局模式里面只需要修改security ,使默认安全级别为user(默认值)

security = user

下面是根据具体的共享目录进行配置,在配置文件的末尾插入以下行,新建一个test  的目录的共享配置,不让他匿名访问,只有指定用户才能访问

[test]                 #指定目录的共享名称

path= /opt/test        #指定共享test目录

browseable= yes        #设置可以看到共享内容

writable= yes          #设置可以有写入的权限

create mask = 0644     #设置新建文件的权限,表示属主具有读写权限,其他人都只有只读权限(rw-r--r--) 

directory mask = 0755  #设置新建文件夹的权限,表示属主具有读写执行权限,其他人没有写入权限(rwxr-xr-x)

2) 系统当中的用户当然也可以访问共享目录,但是我们这里希望用samba自己的账户来访问,新建两个用于samba的账户并设置他们的密码,这样他们可以作为samba用户使用但是不能够登陆系统

[root@localhost 桌面]# useradd lily        #创建账户lily和john

[root@localhost 桌面]# useradd john

[root@localhost 桌面]# smbpasswd -a lily   #设置账户为samba用户并设置密码

[root@localhost 桌面]# smbpasswd –a john

3)新建共享目录并启动samba服务

[root@localhost 桌面]# mkdir /opt/test #创建test共享目录

[root@localhost 桌面]# chmod 777 /opt/test  #修改权限为777 

[root@localhost 桌面]# service smb start  #启 动samba服务

4)测试之前,必须把防火墙和selinux关掉

[root@localhost 桌面]# service iptables stop #关掉防火墙

[root@localhost 桌面]# setenforce 0  #关掉selinux服务

5). 效果验证:

1) 在【开始】菜单的运行框中输入\\192.168.X.1\test,跳出对话框,输入lily的账号和密码

2) lily这个用户可以登陆并且对test共享目录可以进行读写操

3) 在共享目录test里面新建了一个名为lily.txt的文件,回到服务器通过命令ls –l /opt/test查看这个文件的权限,该文件的创建者和属组都是lily

4) 用另一用户john登陆到共享文件夹测试

注:测试之前先要在客户机上清除之前的连接否则会因为缓存而直接进入共享目录

 8.实现指定用户的访问,并为用户赋予不同的权限

1)为了测试访问的用户的不同权限,在[test]配置中加入以下两行

valid users =lily, john  #允许这两个用户可以访问

write list =john        #只允许john这个用户可以写入

2) 效果验证

a.重启samba服务

[root@localhost 桌面]# service smb restart   #重启samba服务

b. 客户机上net use * /d清除连接

c.以lily身份登陆访问共享文件夹,测试写入文件

我们发现,我们设置了只有john可以写入,为什么用lily登陆进去的时候还是可以写入文件呢?我们回到服务器上检查配置文件

所以要使配置生效就必须删除writable = yes这一行配置

[root@localhost 桌面]# service smb restart   #重启samba服务

d. 清除连接(net use * /d),还是以lily的身份登陆,发现创建文件的时候被拒绝

e. 退出lily,清除连接,再用john登陆,john写入文件和文件夹成功,验证权限成功。

9. 实现对特定的访问地址进行限制

若要拒绝谁访问,只需要在主配置文件的[test]中添加一行:hosts deny = 192.168.X.  #192.168.X.表示192.168.X.0这个网段,让这个网段的所以主机都不可以访问

1)效果验证

[root@localhost 桌面]# service smb restart  #重启服务

2)客户机XP系统清除连接(net use * /d)

这次使用john这个账号来访问,可以访问其他共享文件夹但是因为客户机ip地址为192.168.X.2,其IP是192.168.X.0这个网段,在test共享文件夹拒绝访问的网段里面,所以当打开test文件夹时提示了拒绝访问

10.实验总结:

1) samba服务在Linux的系统中实现了微软的SMB/CIFS  网络协议,在部署windows、Linux混合平台的企业环境时,能够很好的解决不同系统之间的文件互访问题,使文件共享变得更加容易,是非常强大的功能。

2) samba服务提供了几种很实用的访问共享权限,也提供了服务器客户端的访问控制,在修改配置文件时一定要注意各个权限的配置是否冲突或者遗漏,平时可多做权限方面的测试。

SAMBA服务器的安装和配置实践的更多相关文章

  1. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

  2. CentOS 6.3下Samba服务器的安装与配置(转)

    CentOS 6.3下Samba服务器的安装与配置   一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写, ...

  3. CentOS 7下Samba服务器的安装与配置

    文基于<CentOS 6.3下Samba服务器的安装与配置>,参照原博文,自己在CentOS7环境上实现,并按照自己的环境修改博文内容 一.简介 Samba是一个能让Linux系统应用Mi ...

  4. CentOS6.4下Samba服务器的安装与配置

    一.先恶狠狠地吐槽一下: 这篇随笔真是让我折腾了2天2夜才敢下笔写!!!为什么呢?之前是通过去Samba的官网下载的源码包,也就是.tar.gz来进行安装配置,不过这个让我折腾来折腾去就是没折腾出结果 ...

  5. CentOS 6.3下Samba服务器的安装与配置【转载】

    本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.h ...

  6. Win7 环境下虚拟机内 Samba 服务器的安装、配置以及与主机的通信实现

    考虑到window和linux虚拟机之间互传文件较为麻烦,遂打算在虚拟机中安装Samba服务器,以此实现共享文件给window使用.然而安装配置过程曲折,遂作记录如下: 一.samba服务器的安装 正 ...

  7. CentOS 6.3下Samba服务器的安装与配置

    一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的 ...

  8. redhat enterprixe 5.0 samba 服务器 rpm 安装及配置

    Samba是著名的开源软件项目,在Linux/UNIX系统中实现了SMB/CIFS网络协议,因此使得跨平台的文件共享变得容易.在部署Windows.Linux/UNIX混合平台的企业环境时,使用Sam ...

  9. [转]CentOS 6.3下Samba服务器的安装与配置

    一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的 ...

随机推荐

  1. vue 组件库

    iView https://www.iviewui.com/ Radon UI https://luojilab.github.io/radon-ui/#!/ Element http://eleme ...

  2. 一些laravel博文

    人比人比死人系列 https://www.insp.top/tag/laravel http://www.iwanli.me/

  3. Ehcache整合spring

    下面介绍一下简单使用的配置过程:ehcache.jar及spring相关jar就不说了,加到项目中就是了. 简单的使用真的很简单.但只能做为入门级了. 1.ehcache.xml,可放classpat ...

  4. Android App签名打包 与 SDK开发文档

    Android App签名打包签名的意义1.为了保证每个程序开发者的合法权益2.放置部分人通过使用相同的Package Name来混淆替换已经安装的程序,从而出现一些恶意篡改3.保证我们每次发布的版本 ...

  5. 设计模式-UML类图基础

    设计模式之序-UML类图那点事儿 打14年年底就像写那么一个系列,用于讲设计模式的,代码基于JAVA语言,最早接触设计模式是大一还是大二来着,那时候网上有人给推荐书,其中就有设计模式,当时给我推荐的书 ...

  6. JS-两周内自动登录功能

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. JS-cookie封装

    智能社学习笔记 <script type="text/javascript"> /*****设置cookie*****/ function setCookie(name ...

  8. 深刻理解 React (一) ——JSX和虚拟DOM

    版权声明:本文由左明原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/155 来源:腾云阁 https://www.qclou ...

  9. centos7上安装iptables

    centos7上安装iptables的步骤 注意:CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #安装iptables ...

  10. 使用servlet3.0提供的API来进行文件的上传操作

    servlet 3.0针对文件上传做了一些优化,提供了一些更加人性化的API可以直接在request中的到文件的名称.文件size,MIME类型,以及用InputStream表示的文件流的信息 @Re ...