CentOS下构建Samba文件共享服务器

Samba简单介绍
Samba
是在LinuxUNIX系统上实现与微软Windows操作系统的SMB/CIFSServer Message Block/Common Internet File System)网络协定做连结的自由软件,由服务器及客户端程序构成。

目前的版本(v3)不仅可存取及分享SMB的资料夹及打印机,本身还可以整合入Windows Server的网域,扮演为网域控制站(Domain Controller)以及加入Active Directory成员。简而言之,此软件在WindowsUNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。

Samba 功能和应用范围

Samba 应该范围主要是WindowsLinux 系统共存的网络中使用;如果一个网络环境都是LinuxUnix类的系统,没有必要用Samba,应该用NFS更好一点;Samba 能为我们提供点什么服务呢?主要是共享文件和共享打印机。

搭建samba共享服务器

一、首先检查一下服务器用的系统版本以及系统类型


点击(此处)折叠或打开

  1. 1.[root@samba ~]# uname -a //查看内核版本详细信息,包括主机名称
  2. Linux samba 2.6.18-308.el5 #1 SMP Tue Feb 21 20:06:06 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
  3. 2.[root@samba ~]# lsb_release -a //查看系统的发行版本及厂商
  4. LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch
  5. Distributor ID: CentOS
  6. Description: CentOS release 5.8 (Final)
  7. Release: 5.8
  8. Codename: Final

二、首先安装与
samba相关的三个数据包,如果用rpm安装不上,有依赖关系的话,那就直接用yum
安装即可。
1.检查一下与 samba 相关的三个数据包是否已经安装成功

点击(此处)折叠或打开

  1. [root@samba ~]# yum install -y samba*
  2. [root@samba ~]# rpm -qa | grep samba
  3. samba-common-3.0.33-3.39.el5_8
  4. samba-swat-3.0.33-3.39.el5_8
  5. samba-3.0.33-3.39.el5_8 //samba:这个套件主要包含了 SAMBA 的主要 daemon档案 ( smbd 及 nmbd )、 SAMBA 的文件档 ( document )、以及其它与 SAMBA 相关的logrotate 设定文件及开机预设选项档案等。
  6. samba-client-3.0.33-3.39.el5_8 //这个套件则提供了当 Linux 做为SAMBA Client 端时,所需要的工具指令,例如挂载 SAMBA 档案格式的执行档 smbmount等。 

samba服务器主要提供以下两个服务程序。

smbd:为客户机提供服务器中共享资源(目录和文件等)的访问。

nmbd:提供基于NetBIOSS主机名称的解析,为windows网络中的主机进行名称解析。

2.smb.conf的配置文件默认放在/etc/samba目录下

点击(此处)折叠或打开

  1. [root@samba samba]# ll /etc/samba/
  2. total 32
  3. -rw-r--r-- 1 root root 20 May 18 2012 lmhosts
  4. -rw-r--r-- 1 root root 9733 May 118 2012 smb.conf
  5. -rw-r--r-- 1 root root 97 May 118 2012 smbusers

lmhosts:这个档案的主要目的在对应NetBIOS name 与该主机名称的 IP ,事实上,他有点像是/etc/hosts 的功能.

smbusers:创建smb的虚拟用户,存放在smbusers此文件中,用于验证登陆。

smb.confsamba配置文件默认存放的目录,要是源码包安装可以自定义。

三、看一下配置文件中都有哪些信息,并且修改smb.conf配置文件

  1. [root@samba samba]# grep -v "^[#;]" smb.conf | grep -v "^$"
  2. [global]
  3.         workgroup = MYGROUP
  4.         server string = Samba Server Version %v
  5.         # logs split per machine
  6.         # max 50KB per log file, then rotate
  7.         security = user
  8.         passdb backend = tdbsam
  9.         # the login script name depends on the machine name
  10.         # the login script name depends on the unix user used
  11.         # disables profiles support by specifing an empty path
  12.         load printers = yes
  13.         cups options = raw
  14.         #obtain list of printers automatically on SystemV
  15. [homes]
  16.         comment = Home Directories
  17.         browseable = no
  18.         writable = yes
  19. [printers]
  20.         comment = All Printers
  21.         path = /var/spool/samba
  22.         browseable = no
  23.         guest ok = no
  24.         writable = no
  25.         printable = yes
3.查看下修改后的 samba 服务器的主配置文件 smb.conf信息

点击(此处)折叠或打开

  1. [root@samba samba]# cat smb.conf
  2. [global]
  3.         workgroup = MYGROUP
  4.         server string = Samba Server Version %v
  5.         log file = /var/log/samba/%m.log
  6.         hosts allow = 127. 192.168.1. 192.168.13.
  7.         # logs split per machine
  8.         # max 50KB per log file, then rotate
  9.         security = share
  10.         passdb backend = tdbsam
  11.         # the login script name depends on the machine name
  12.         # the login script name depends on the unix user used
  13.         # disables profiles support by specifing an empty path
  14.         load printers = yes
  15.         cups options = raw
  16.         #obtain list of printers automatically on SystemV
  17. [homes]
  18.         comment = Home Directories
  19.         browseable = no
  20.         writable = yes
  21. [printers]
  22.         comment = All Printers
  23.         path = /var/spool/samba
  24.         browseable = no
  25.         guest ok = no
  26.         writable = no
  27.         printable = yes
  28. [beyond]
  29. comment = Public share with beyond file
  30. path = /var/public/beyond
  31. public = yes
  32. read only = yes

4.创建上边自定义指定的共享文件

[root@samba samba]# mkdir -p /var/public/beyond

[root@samba samba]# mkdir -p /var/public/beyonds/test

5.最后,需要开启smb服务才能生效

[root@samba samba]# /etc/init.d/smb start

四、在windows server 2003客户端上进行测试,访问linux上的samba服务器

221534535.png


1.直接点击确定,看下是否可访问到beyond这个共享的目录

221534315.png

2.无需密码验证,已经访问到了beyond这个目录和打印机

进到beyond目录下, 还能看到test此目录,ok,共享成功!


221745834.png


222209355.png

3.可以进去,看到了原来创建的文件夹和文件,无法创建文件为什么创建不了呢?是因为share的用户,设置read only = yes(只读权限)。


四.建立带验证性的文件共享服务器

1.创建三个smb账号和密码

  1. [root@samba ~]# useradd tt1
  2. [root@samba ~]# useradd tt2
  3. [root@samba ~]# smbpasswd -a tt1
  4. New SMB password:
  5. Retype new SMB password:
  6. Added user tt1.
  7. [root@samba ~]# smbpasswd -a tt2
  8. New SMB password:
  9. Retype new SMB password:
  10. Added user tt2.
  11. [root@samba ~]# smbpasswd -a root
  12. New SMB password:
  13. Retype new SMB password:
  14. Added user root.
2.查看下修改的smb.conf的配置文件
  1. [root@samba samba]# head smb.conf
  2. [global]
  3. workgroup = WORKGROUP
  4. server string = Samba Server Version %v
  5. log file = /var/log/samba/%m.log
  6. hosts allow = 127. 192.168.1. 192.168.13.
  7. # logs split per machine
  8. # max 50KB per log file, then rotate
  9. security = user
  10. passdb backend = tdbsam
  11. # the login script name depends on the machine name
  12. [root@samba samba]# tail smb.conf
  13. read only = yes
  14. [taokey]
  15. comment = Public share with taokey files
  16. path = /var/public/taokey
  17. public = no
  18. writable = yes
  19. valid users = tt1,tt2 @root
  20. writelist = root,tt2
  21. directory mask = 0744
  22. create mask = 0600
3.创建制定共享的目录和文件
  1. [root@samba samba]# mkdir -p /var/public/taokey
  2. [root@samba samba]# mkdir -p /var/public/taokey/test
  3. [root@samba samba]# touch /var/public/taokey/taoyake.txt

4.重启smb服务器生效

[root@samba samba]# /etc/init.d/smb restart

5.重新用windows server 2003客户端访问samba服务器,弹出一个验证账号和密码的框
222653751.png
6.输入之前创建的tt1账号和密码,可以登陆进去
223845186.png

7.输入账号和密码以后,审核成功,进入smb共享服务器。

224456905.png


8.访问taokey,看到了创建的目录和文件

224641623.png

  1. [root@samba samba]# tail smb.conf
  2. read only = yes
  3. [taokey]
  4.         comment = Public share with taokey files
  5.         path = /var/public/taokey
  6.         public = no
  7.         writable = yes
  8.         valid users = tt1,tt2 @root
  9.         writelist = root,tt2
  10.         directory mask = 0744
  11.         create mask = 0600

因为可写的只有tt2root账号,所以tt1写不了

服务器的自带的文件权限对文件也要有写的权限,才可以写

[root@samba public]# chmod a+w /var/public/taokey

按上边的配置来说,应该是可以tt2是可以创建和删除文件的。咱们试试tt2,能不能创建或者删除文件。

注意:在测试samba时,默认情况下,第一次登陆后,再次登陆(\\samba服务器IP地址)会记住早先登陆的用户、密码。所以,如果想换个用户测试登陆的效果,可以先执行命令net use * /del,再次\\samba服务器IP地址,就会提示输入用户名、密码。

224853281.jpg


9.重新访问法samba服务器的IP地址,输入tt2账号和密码。

224956274.png


从图中可以看出来可以创建文件

225042665.png

从图中可以看出来,tt2用户可以在taokey目录下创建新文档

10.再创建一个ssh的目录试一下

225223138.png

删除hello.txt,试一下


225305865.png

从图中看出来是可以删除的


225401123.png

到此为止,实验结束。

亲测可用,原文地址:http://taokey.blog.51cto.com/4633273/1203553





<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(97) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值