28
2010
12

构建Samba文件共享服务器

实验环境

   根据公司的信息化建设要求,需要在局域网内部搭建一台文件服务器,便于对数据的集中管理和备份。考虑到服务器的运行效率及稳定、安全性,选择在 RHEL5操作系统中构建Samba服务器以提供文件资源共享服务。

需求描述

创建3个文档目录:

 /var/share/public,存放公共数据

 /var/share/training,存放技术培训资料

           /var/share/devel,存放项目开发资料

/var/share/public目录共享为public

 所有员工可匿名访问,但是只能读取文件,不能写入

/var/share/training目录共享为peixun

 只允许管理员admin及技术部的员工只读访问

/var/share/devel/目录共享为kaifa

  技术部的员工都可以读取该目录中的文件

但是只有管理员adminbenet项目组的员工有写入权限

具体配置

[root@localhost ~]# mkdir -p /var/share/public   递归创建public目录

[root@localhost ~]# mkdir /var/share/training     创建training目录

[root@localhost ~]# mkdir /var/share/devel       创建devel目录

[root@localhost ~]# useradd yun01             添加系统用户yun01

[root@localhost ~]# useradd tec01              添加系统用户tec01

[root@localhost ~]# useradd ben01             添加系统用户ben01

[root@localhost Server]# groupadd tech         添加技术部的组tech

[root@localhost Server]# groupadd benet        添加项目组的组benet

[root@localhost Server]# usermod -g benet ben01  更改ben01用户的基本组

[root@localhost Server]# usermod -g tech tec01    更改tec01用户的基本组

[root@localhost Server]# chgrp benet /var/share/devel/ 更改devel文件夹的属组

[root@localhost Server]# chmod 775 /var/share/devel/ 更改devel文件夹的权限

[root@localhost ~]# mount /dev/cdrom /media/       挂载光盘

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@localhost ~]# cd /media/Server/             进入光盘里的server目录

[root@localhost Server]# rpm -ivh samba-3.0.33-3.14.el5.i386.rpm perl-Convert-ASN1-0.20-1.1.noarch.rpm   安装samba服务端和依赖包

warning: samba-3.0.33-3.14.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

   1:perl-Convert-ASN1      ########################################### [ 50%]

   2:samba                  ########################################### [100%]

[root@localhost Server]# alias vi=vim                           链接vivim

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

[global]                                       全局配置

        workgroup = MYGROUP                 工作组

        server string = Samba Server Version %v     服务器说明

        security = user                          验证方式

        username map = /etc/samba/smbusers       指定名称映射文件

        passdb backend = tdbsam

[homes]                                       宿主目录

        comment = Home Directories             共享说明

        browseable = no                       不可见

        writable = yes                         允许写入

[printers]                           打印机共享(因linux打印驱动较少,这里不做介绍)

        comment = All Printers

        path = /var/spool/samba

        browseable = no

        guest ok = no

        writable = no

        printable = yes

[public]                             共享名称

        comment = Public Stuff         共享说明

        path = /var/share/public          物理路径

        public = yes                  允许公共访问

        writable = on                 不允许写入       

        read only = yes                只读

 [peixun]

        comment = peixun Stuff

        path = /var/share/training

        public = no

        valid users = root @tech        允许访问的用户和组

        read only = no

        writable = no

 [kaifa]

        comment = kaifa Stuff

        path = /var/share/devel

        read only = no

        writable = no

        public = no

        valid users = root @tech @benet

        write list = root @benet                  允许写入的用户和组列表

[root@localhost Server]# service smb start                    开启samba服务

启动 SMB 服务:                   [确定]

启动 NMB 服务:                  [确定]

[root@localhost Server]# smbpasswd -a yun01                 添加samba用户yun01

New SMB password:                                      设置密码

Retype new SMB password:                                 重复密码

Added user yun01                                         .

[root@localhost Server]# smbpasswd -a ben01                 添加samba用户ben01

New SMB password:                            

Retype new SMB password:

Added user ben01.

[root@localhost Server]# smbpasswd -a tec01                 添加samba用户tec01

New SMB password:

Retype new SMB password:

Added user tec01.

[root@localhost Server]# smbpasswd -a root                  添加samba用户root

New SMB password:

Retype new SMB password:

Added user root.

[root@localhost Server]# vi /etc/samba/smbusers

# Unix_name = SMB_name1 SMB_name2 ...

root =  admin                                      定义别名root admin

nobody = guest pcguest smbguest

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

关闭 SMB 服务:                                            [确定]

关闭 NMB 服务:                                            [确定]

启动 SMB 服务:                                            [确定]

启动 NMB 服务:                                            [确定]

[root@localhost Server]#

 

实验说明:因为我是以WINDOWS客户端来访问的,所以按上面的配置来进行访问时,匿名用户是无法访问public共享的,因为全局配置了安全级别是用户。如果需要让WINDOWS用户可以匿名访问public,只需将全局配置里的安全级别改成share,但是这样更改好,WIDNOWS客户端要访问其它共享文件夹时,只能使用net use命令了。根据实际环境,自行取舍。

« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。