实验需求: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. POST提交表单,本地Windows测试无乱码,而将项目部署到服务器端产生乱码原因之一

    项目在Windows机上eclipse发布至tomcat测试没有问题,表单提交到数据库的中文都能正常显示,而将项目部署到服务器上时,出现中文乱码 确认POST提交都使用了request.setChar ...

  2. Tomcat在Linux下的安装与配置

    一.安装配置JDK 1.官网下载JDK1.7 mkdir /usr/java cd /uar/java wget http://download.oracle.com/otn/java/jdk/7u8 ...

  3. 使用C#语言实现一些功能

    今天由于是周六,所以就没讲课啦,于是我就仔细看啦几道还没掌握的题,然后总结啦一下. 一.三级联动 像这个三级联动吧,感觉在做网站时间肯定会用到啦,但是那时间肯定不会是这样子做的啦,不可能把所有的省市区 ...

  4. UIGestureRecognizer学习笔记

    一.Gesture Recognizers Gesture Recognizers是在iOS3.2引入的,可以用来识别手势.简化定制视图事件处理的对象.Gesture Recognizers的基类为U ...

  5. windbg载入目标模块pdb

    .reload /f xxxx.dll ld xxxx 以kdcom为例子 .reload /f kdcom.dll ld kdcom 二选一

  6. JavaScript的记忆函数真的可以提升性能吗?

      1 记忆函数是什么呢? 让函数记住曾经计算过的参数对应的结果 2 那我们为什么使用记忆函数呢? 答案是 避免重复计算 3 在工作中如何使用和实现函数记忆 ? 形成闭包,在闭包中维护一个哈希数组(其 ...

  7. setTimeOut一些注意的地方

    for (var i = 0; i < data.length; i++) { var flashID = data[i].ID; //setTimeOut(removeFlashDiv(fla ...

  8. poj_1442 Treap

    Treap是一种动态平衡二叉树结构,具有期望的O(log2n)的复杂度.适用于动态区间数据的查询.更改.维护等操作. 题目大意 一组数从前向后插入队列中,插入的过程中会有查询,查询当前队列中的第k小的 ...

  9. 深入浅出Docker(四):Docker的集成测试部署之道

    1. 背景 敏捷开发已经流行了很长时间,如今有越来越多的企业开始践行敏捷开发所提倡的以人为中心.迭代.循序渐进的开发理念.在这样的场景下引入Docker技术,首要目的就是使用Docker提供的虚拟化方 ...

  10. 微信Android热补丁实践演进之路

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