`
AnhuiOSS技术分享
  • 浏览: 34060 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Samba服务器搭建完全指南

阅读更多

 

 

 

 Samba,是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协定做连结的自由软件。目前的版本(v3)不仅可存取及分享SMB的资料夹及打印机,本身还可以整合入Windows Server的网域,扮演为网域控制站(Domain Controller)以及加入Active Directory成员。简而言之,此软件在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。

 本文主要介绍samba服务器在企业内部的利用,以实际运行中的例子作为参考。

 (操作系统:CentOS 6.0 32bit)

1、文件系统结构规划:

[root@backup1 share]# tree -a

.

`-- samba

    `-- admin

        |-- 营业部       drwxrwxr-x admin admin

        |   |-- 员工1          drwxrws---  user1 admin   

        |   |-- 员工2      drwxrwsr-x  user2 admin  

        |   `-- 员工3      drwxrwsr-x  user3 admin  

        |-- 其他      drwxrwxr-x admin admin

        |   |-- 完全共享      drwxrwsrwt admin admin 该目录属性为3777

        |   `-- 资料共享        drwxrwxr-x  admin admin  

        |       |-- 书籍      drwxrwxr-x  admin admin 

        |       |-- 各种文档            drwxrwxr-x  admin admin  

        |       `-- 软件下载      drwxrwxr-x  admin admin 

        |-- 开发部              drwxrwxr-x  admin admin

        |   |-- 员工4              drwxrwsr-x user4  admin 

        |   |-- 员工5                 drwxrwsr-x user5  admin 

        |   |-- 员工6                   drwxrwsr-x user6    admin 

        |   |-- 员工7                   drwxrwsr-x user7  admin 

        |   |-- 员工8      drwxrwsr-x user8  admin 

        |   |-- 员工9              drwxrwsr-x user9  admin 

        |   `-- 员工10                   drwxrwsr-x user10  admin     

        |-- 管理部                       drwxrwsr-x  admin admin    

|-- |--财务相关                drwxrws---  finance admin   

|-- |--人事相关                drwxrws---  finance admin   

|

        `-- 董事会 

            `-- 董事长             drwxrwx---  admin admin   

 

注:以下admin/ceo/user1设为管理员用户

2、文件及目录说明 

  1)该文件系统的入口为/home/share/samba/admin目录,所以共享的目录都保存于该目录之下

  2)admin目录下设“营业部”、“开发部”、“其他”、"管理部"、"董事会"等部门。各部门之间的功能如下:

     营业部:用于存放营业部用户的文件内容,目前用户相互之间不影响,除管理员之外,不接受任何用户访问。

     开发部:主要存放开发部用户的数据资料,相互之间不影响,除管理员之外,不接受任何用户访问。

     董事会:主要存放股东的资料,除管理员之外,不接受任何用户访问。

     管理部:用于存放出纳、会计、人事等相关资料,除管理员之外,不接受任何用户访问。

     其他:内含完全共享文件夹(用于临时备份用,为我们所有用户具有读写权限,但建立的文件只有该用户及admin具有删除修改权限)和资料共享文件夹(只读共享,除管理员之外,其余用户为只读访问)。

 

3、目录权限、用户权限及相关说明

   用户权限:admin具有最高的权限,ceo,user1具有可以管理除完全共享中的部分内容之外的全部权限。

   其他用户对本文件夹及其在“完全共享”中建立的文件夹具有所有权限,对“资料共享”文件夹具有查看权限。

   完全共享文件夹:主要给用户用于临时备份用的文件夹,可以具有所建文件夹的全部权限,并只有该用户和admin才有修改权限。

   资料共享文件夹:普通用户具有查看内容权限,管理员用户具有修改内容的权限。

   管理部:普通用户无访问权限,管理员用户及用户所属主具有所有权限。

 

4、目录的建立

   注:假设所有设定都是在root权限下进行.

   1) 建立相关目录结构

      mkdir -p /home/share/samba/admin/营业部/员工1

      cd /home/share/samba/admin/营业部/

      mkdir 员工2 员工3

      mkdir -p /home/share/samba/admin/开发部/员工4

      cd ../开发部

      mkdir 员工8 员工6 员工10 员工9 员工7 员工5      

      mkdir -p /home/share/samba/admin/管理部/财务相关

      cd ../管理部

      mkdir 人事相关

      mkdir -p /home/share/samba/admin/董事会/董事长

      mkdir -p /home/share/samba/admin/其他/完全共享

      cd ../其他

      mkdir -p 资料共享/书籍

      cd 资料共享

      mkdir 软件下载 各种文档

 

5、创建用户和用户组

  1)创建用户组 admin、business、develop、finance

    groupadd admin;groupadd business;groupadd develop;groupadd finance

  2)创建各自的用户

    useradd -g admin -G business,develop,finance -d /home/share/samba/admin -s /sbin/nologin admin

    useradd -g admin -G business,develop,finance -d /home/share/samba/admin/董事会/董事长 -s /sbin/nologin ceo

    useradd -g admin -G business,develop,finance -d /home/share/samba/admin/营业部/员工1 -s /sbin/nologin user1

    useradd -g business -G develop -d /home/share/samba/admin/营业部/员工2 -s /sbin/nologin user2

    useradd -g business -G develop -d /home/share/samba/admin/营业部/员工3 -s /sbin/nologin user3

    useradd -g develop -G business -d /home/share/samba/admin/开发部/员工4 -s /sbin/nologin user4

    useradd -g develop -G business -d /home/share/samba/admin/开发部/员工6 -s /sbin/nologin user6

    useradd -g develop -G business -d /home/share/samba/admin/开发部/员工8 -s /sbin/nologin user8

    useradd -g develop -G business -d /home/share/samba/admin/开发部/员工10 -s /sbin/nologin user10

    useradd -g develop -G business -d /home/share/samba/admin/开发部/员工5 -s /sbin/nologin user5

    useradd -g develop -G business -d /home/share/samba/admin/开发部/员工7 -s /sbin/nologin user7

    useradd -g develop -G business -d /home/share/samba/admin/开发部/员工9 -s /sbin/nologin user9

    useradd -g finance -G business,develop -d /home/share/samba/admin/管理部 -s /sbin/nologin finance

 

6、设置目录相关权限

  1)设置admin文件夹权限为@admin为具有所有权限,其他为只读。

   chown admin:admin -R /home/share/samba/admin/

  2)设置营业部的权限

   cd /home/share/samba/admin/营业部/

   chown user1.admin -R 员工1/

   chown user2.admin -R 员工2/

   chown user3.admin -R 员工3/

   chmod 2775 -R *

   chmod 2770 -R 员工1/ 

 

  3)设置开发部的权限

    cd /home/share/samba/admin/开发部

    chown user4.admin -R 员工4/

    chown user8.admin -R 员工8/

    chown user5.admin -R 员工5/

    chown user10.admin -R 员工10/

    chown user7.admin -R 员工7/

    chown user9.admin -R 员工9/

    chown user6.admin -R 员工6/

    chmod 2775 -R *

 

  4)设置董事会的权限

    cd /home/share/samba/admin/董事会

    chown ceo.admin -R 董事长/

    chmod 2770 -R 董事长/

  5)设置管理部的权限

    cd /home/share/samba/admin/管理部

    chown finance.admin -R 财务相关/

    chown finance.admin -R 人事相关/

    chmod 2770 -R 财务相关/

    chmod 2770 -R 人事相关/

 

  6)共享目录的权限设定

    cd /home/share/samba/admin/其他/

    chown admin.admin -R *

    chmod 3777 -R 完全共享

    chmod 755 -R 资料共享/

 

7、建立samba配置文件smb.conf

====================Samba 配置文件====================

[global]

workgroup=WORKGROUP

netbios name=安徽开源软件

server string = Anhui OSS Linux Samba Server

security=user

[admin]

comment=管理所有文件夹

path=/home/share/samba/admin/

create mask= 0664

directory mask= 0775

writeable = yes

valid users = user1,@admin

browseable = no

[资料共享]

path=/home/share/samba/admin/其他/资料共享/

writeable = yes

browseable = yes

        guest ok = no

 

[管理部]

path=/home/share/samba/admin/管理部

writeable=yes

browseable=yes

directory mask =0770

create mask=0660

guest ok=no

valid users =@admin,@finance

[完全共享]

path=/home/share/samba/admin/其他/完全共享

writeable = yes

browseable = yes

# guest ok = yes

create mask=0664

directory mask = 0775

[员工1]

path=/home/share/samba/admin/营业部/员工1

writeable = yes

directory mask = 0775

create mask = 0664

valid users = user1,@admin

browseable = yes

   comment = 员工1的文件夹

[员工3]

path=/home/share/samba/admin/营业部/员工3

writeable = yes

directory mask = 0775

create mask = 0664

valid users = user3,@admin

browseable = yes

   comment = 员工3的文件夹

[员工2]

path=/home/share/samba/admin/营业部/员工2

writeable = yes

directory mask = 0775

create mask = 0664

valid users = user2,@admin

browseable = yes

comment=员工2的文件夹

 

[员工4]

path=/home/share/samba/admin/开发部/员工4

writeable = yes

directory mask = 0775

create mask = 0664

valid users = user4,@admin

browseable = yes

comment=员工4的文件夹

 

[员工10]

path=/home/share/samba/admin/开发部/员工10

writeable = yes

directory mask = 0775

create mask = 0664

valid users = user10,@admin

browseable = yes

comment=员工10的文件夹

 

[员工5]

   path=/home/share/samba/admin/开发部/员工5

writeable = yes

directory mask = 0775

create mask = 0664

valid users = user5,@admin

browseable = yes

comment=员工5的文件夹

 

[员工7]

   path=/home/share/samba/admin/开发部/员工7

writeable = yes

directory mask = 0775

create mask = 0664

valid users = user7,@admin

browseable = yes

comment=员工7的文件夹

 

[员工6]

   path=/home/share/samba/admin/开发部/员工6

writeable = yes

directory mask = 0775

create mask = 0664

valid users = user6,@admin

browseable = yes

comment=员工6的文件夹

 

[员工8]

   path=/home/share/samba/admin/开发部/员工8

writeable = yes

directory mask = 0775

create mask = 0664

valid users = user8,@admin

browseable = yes

comment=员工8的文件夹

 

[员工9]

   path=/home/share/samba/admin/开发部/员工9

writeable = yes

directory mask = 0775

create mask = 0664

valid users = user9,@admin

browseable = yes

comment=员工9的文件夹

 

[董事长]

   path=/home/share/samba/admin/董事会/董事长

writeable = yes

directory mask = 0775

create mask = 0664

valid users = ceo,@admin

browseable = yes

comment=董事长的文件夹

 

[公司网站]

   path=/var/www/html

      writeable = yes

      directory mask = 0775

      create mask = 0664

      valid users = @admin,@apache

      browseable = yes

      comment=公司网站的文件夹

 

 

====================Samba 配置文件====================

 

8、建立samba登录密码,该密码文件保存于/etc/samba/smbpasswd中。

  格式:smbpasswd -a 用户名(必须为linux中存在的用户)

       smbpasswd -a admin;smbpasswd -a ceo;smbpasswd -a user1;smbpasswd -a user4;smbpasswd -a user8;smbpasswd -a user2;smbpasswd -a user3;smbpasswd -a user6;smbpasswd -a user5;smbpasswd -a user7;smbpasswd -a user9;smbpasswd -a user10;smbpasswd -a finance

 

 

9、开放防火墙,将tcp端口139,445和UDP端口137,138通过

  iptables -I INPUT -p tcp -m multiport --dport 139,445 -j ACCEPT

  iptables -I INPUT -p udp --dport 137:138 -j ACCEPT

 

10、客户端访问Samba服务器

   1)通过windows客户端访问 

     在地址栏中输入\\server_ip 或 \\server_ip\共享文件夹名

   2)通过ubuntu访问:

     nautilus smb://server_ip/ 或 nautilus smb://server_ip/共享文件夹名

 

 

11、磁盘限额设定

    1)首先查找是否有限额程序安装,执行rpm -qa|grep quota,未安装的话,自行安装。

    首先设置需要限额使用的盘符(必须为独立的盘符)

    vi /etc/fstab

    /dev/VolGroup00/LogVol01 /home                   ext3    defaults,usrquota,grpquota        1 2

    (保存后重启)

    2)重启完成之后,执行如下命令

    quotacheck -cmug /home/

    在/home下产生以2个文件,分别为:aquota.group  aquota.user

    3)执行quotaon -auvg ,将用户和组的限额全部打开

    4)进行限额设定:

       edquota -u user8 (设定值:3-3.5GB)

       edquota -u user3 (设定值:4-4.5GB)

       edquota -u user6 (设定值:3-3.5GB)

       edquota -u user10 (设定值:3-3.5GB)

       edquota -u user2 (设定值:4-4.5GB)

       edquota -u user3 (设定值:4-4.5GB)

       edquota -u user4(设定值:5-6GB)

       edquota -u user5(设定值:3-3.5GB)

       edquota -u user9(设定值:3-3.5GB)

       edquota -u user7(设定值:3-3.5GB)

       edquota -u finance(设定值:3-3.5GB)

       edquota -u ceo(设定值:10-15GB)

       edquota -u user1(设定值:15GB-20GB)

       (依次增加:......)

 

到此为止,Samba的操作已经完成,您也赶紧试试吧!

 

 

来源:安徽开源软件有限公司

地址:http://www.anhuioss.com/cn/

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics