Samba

需求:

某公司销售部门提出一个文件共享需求,要求部门共享目录有三个

  1. 第一个共享目录所有销售部门人员都具有可读可写权限;
  2. 第二个共享目录所有销售人员只读权限,经理级别的销售人员具有可读可写权限;
  3. 第三个共享目录要求隐藏起来,只允许销售部门总监可见,并且具有可读可写权限,其他销售人员不可见。

分析:

  • /home下创建三个文件目录

  • 一个SalesCommon文件目录

  • 一个SalesLead文件目录
  • 一个是SalesBoss文件目录

  • 创建三个samba用户分别为

  • common

  • lead
  • boss

  • 策略

  • 三个samba用户可读可写SalesCommon文件目录;

  • common可读SalesLead文件目录
  • leadboss用户可读可写SalesLead文件目录;
  • boss可读可写SalesBoss文件目录。

为了方便管理和安全,把common映射成user01user02虚拟用户 把lead用户映射成admin01admin02虚拟用户。

操作:

第一步:

  1. 先创建三个系统用户common、lead、boss
  2. 再把系统用户common、lead、boss生成为samba用户。

  3. 添加系统用户

useradd common passwd common

useradd lead passwd lead useradd boss passwd boss

  • 把系统用户生成为samba用户

smbpasswd –a common smbpasswd –a lead smbpasswd –a boss

pdbedit –L

查看已存在的samba用户

common:500: lead:501: boss:502:

第二步:

  1. /home下创建SalesCommon、SalesLead、SalesBoss文件目录
  2. 指定所属主,组
  3. SalesCommon - common:common
  4. SalesLead - lead:lead
  5. SalesBoss - boss:boss
  6. 指定文件夹权限
  7. SalesCommon目录权限赋予777
  8. SalesLead目录权限赋予774
  9. SalesBoss目录权限赋予700

  10. boss用户添加附属 lead用户组 usermod -a -G lead boss

ls -ld /home/{SalesCommon,SalesLead,SalesBoss}

查看文件目录

第三步:

用户映射

  1. 用户common映射成user01user02虚拟用户
  2. lead映射成admin01admin02虚拟用户。

vim /etc/samba/smbusers

添加 common = user01 user02 lead = admin01 admin02

第四步:

编辑/etc/samba/smb.conf主配置文件。

[global]
    workgroup = MYGROUP
    netbios name = MYGROUP
    config file = /etc/samba/smb.conf.%U  
    #可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件 不存在,则该项无效。
    # %U 指定 对应用户 的配置,找不到即缺省
    server string = Samba Server Version %v

    log level = 1
    log file = /var/log/samba/%m
    max log size = 50

    security = user
    passdb backend = tdbsam
    username map = /etc/samba/smbusers
    #配置/etc/samba/smbusers文件设置虚拟用户

    load printers = yes
    cups options = raw

[销售部公共]
         comment = Home Common Directories
         path = /home/SalesCommon
         browseable = yes
         write list = common,lead,boss

[销售部经理]
         comment = Home Lead Directories
         path = /home/SalesLead
         browseable = yes
         write list = lead

第五步:

复制/etc/samba/smb.conf 主配置boss用户的单独配置文件,编辑smb.conf.boss配置文件。

cp /etc/samba/smb.conf /etc/samba/smb.conf.boss

vim /etc/samba/smb.conf.boss

[global]
         workgroup = MYGROUP
         netbios name = MYGROUP
         server string = Samba Server Version %v
         log level = 1
         log file = /var/log/samba/%m
         max log size = 50
         security = user
         passdb backend = tdbsam
         load printers = yes
         cups options = raw

[销售部公共]
         comment = Home Common Directories
         path = /home/SalesCommon
         browseable = yes
         write list = common,lead,boss
[销售部经理]
         comment = Home Lead Directories
         path = /home/SalesLead
         browseable = yes
         write list = lead,boss
[销售部总监]
         comment = Home Boss Directories
         path = /home/SalesBoss
         browseable = yes
         write list = boss
         create mask = 0700
         #创建的文件权限为700
         directory mode = 0700
         #创建的文件目录为 700