Samba 企业应用案例 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

需求

1. 所有员工都能够在公司内流动办公,但不管在哪电脑上工作,都要把自己文件存在 Samba 文件服器上。

2. 制造部、财务部、管理部,都有各自的文件目录。

3. 各部门目录下提供“对外”、“公共文档”、“受控文档”三个子目录。

对外: <1> 允久公司所有工作人员访问,不能修改文件。

      <2> 本部门文员负责维护数据

公共文档: <1> 本部门员工可以访问,领导层可以访问,不能修改。

          <2> 本部门文员负责维护数据

受控文档: <1> 本部门主管、公司领导可以访问、其他员工禁止。

          <2> 本部门主管负责维护数据

注:财务部受控文档只允许总经理、财务部总监、主管、访问。

管理部 受控文档只允许总经理、主管访问。

 

       4 、各部门办公人员拥有各自的主目录,用于存放私有文档(工作相关),其他人禁止访问。

       5 、所有的用户都不允许使用服务器的 SHELL( 安全考虑 )

       6 、公共区域: <1> 所有员工均可访问。

                    <2> 网络部负责维护

       7 、交换区域: <1> 所有员工均可读可写,禁止删除其它员工文件。

                    <2> 网络部负责维护

 

分析

1、 需要 Samba 做为文件服务器。为所有用户创建账号,为各部门创建相关目录,用户默认存在一个 home 目录

2、 设置共享权限、文件系统权限、结合 ACL 工具

3、 建立帐号时,不分配 SHELL

 

 

实施

假设环境

 

     管理部( glb ): glb01( 主管 ) glb02( 文员 ) glb03( 普通员工 )

     财务部 (cwb) cwb01( 主管 ) cwb02( 文员 ) cwb03 (普通员工)

     制造部 (zzb) zzb01( 主管 ) zzb02( 文员 ) zzb03( 普通员工 )

     网络部 (netb) netb01( 主管 ) netb02( 网管 )

     领导层 (leads) lead01( 总经理 ) lead02( 副总经理 ) lead03( 财务总监 )

     公共区域 (pub)

     交换区域 (exchange)

 

1、 创建用户帐号和组 ( 按部门划分 )

 

<1> 创建组

        Groupadd cwb…………………………………. 财务组

        Groupadd glb………………………………….. 管理组

        Groupadd zzb………………………………….. 制造组

        Groupadd netb…………………………………. 网络组

        Groupadd leads………………………………… 领导组

 

      <2> 创建用户

           useradd  -g cwb  –s /dev/bin/false cwb01

 useradd  -g cwb  –s /dev/bin/false cwb02

useradd  -g cwb  –s /dev/bin/false cwb03   财务

--------------------------------------------------------

useradd  -g glb  –s /dev/bin/false glb01

useradd  -g glb  –s /dev/bin/false glb02

useradd  -g glb  –s /dev/bin/false glb03    管理

------------------------------------------------------------

useradd  -g zzb  –s /dev/bin/false zzb01

useradd  -g zzb  –s /dev/bin/false zzb02

useradd  -g zzb  –s /dev/bin/false zzb03   制造

------------------------------------------------------------

useradd  -g netb  –s /dev/bin/false netb01

useradd  -g netb  –s /dev/bin/false netb02

useradd  -g netb  –s /dev/bin/false netb03  网络

------------------------------------------------------------

useradd  -g leads  –s /dev/bin/false lead01

useradd  -g leads  –s /dev/bin/false lead02

useradd  -g leads  –s /dev/bin/false lead03 领导

 

   

2、 创建目录,结构如下:

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


2 、设置共享权, ACL 、文件系统权限

 

     Chmod 755 samba owner:root   group:root

     Chmod 755 pub    owner:root   group:root

     Chmod 1777 exchange owner:root   group:root

     Chmod 755 财务部    owner:root   group:root

     Chmod 755 管理部     owner:root   group:root

     Chmod 755 制造部     owner:root   group:root

------------------------------------------------------------------------

财务部

     Chmod 700 受控

     Chown cwb01:cwb 受控                 主管维护

     Setfacl –m u:lead01:rx 受控   …………… ACL( 总经理访问、总监访问 )

     Setfacl  -m u:lead3:rx  受控

     -------------------------------

     Chmod 755 对外              

     Chown cwb02::cwb 对外                

----------------------------------

Chmod 755 公共

Chown cwb02:cwb 公共

管理部

     Chmod 700 受控              

     Chown glb01:glb 受控                  主管维护

     Setfacl –m u:lead01:rx 受控   ……………..ACL( 总经理访问 )

     -------------------------------

     Chmod 755 对外

     Chown glb02:glb  对外 ……………………

----------------------------------

Chmod 755 公共

Chown glb02:glb 公共

  公共区域

        Chmod 755

        Setfacl –m g:netb:rwx ……………………… 网络部维护

  交换区域

       Chmod 1777

3、 Samba 服务配置

 

Services smb restart …………….. 启动 smb 服务

[samba]      …………………. 发布共享目录

Path=………..

Comment=samba directory

Public = yes

Writebale = yes

 

[homes]………………………… 用户主目录

Conmment=user directory

Public=no

Browseable = no

Valid users = %s