今天学习了chinaitlab的一个关于samba服务就具体应用案例,觉得该案例使用技术全面,应用性很

强,解决了我以前的一些关于samba的诸多疑问,在这里非常感谢作者,并把我的学习心得作为开通

博客园后第一个随笔,老鸟们不要鄙视我哦!!!

 

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

案例要求
1,公司内所有员工(ton、jack、red、blue、ceo、finance)都拥有的自己samba文件夹,且可写
2,市场部 sales,员工 tom、jack,市场部员工可以访问sales文件夹,且可写
   技术部 tech,员工 red、blue,技术部员工可以访问tech文件夹,且可写
3,所有员工都不允许有访问linux服务器的shell

 

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

分析
1,需要为所有员工建立各自服务器账号和目录,且smb.conf的security = user
2,建立市场部和技术部的组,sales和tech,并把tom和jack加入sales组,red和blue加入tech组
3,建立帐号时不分配shell

 

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

 

具体操作步骤

1,添加组  [root@linux root]# groupadd sales
           [root@linux root]# groupadd tech

 

2,添加所有员工的服务器用户,且使用户的shell都不可用
           [root@linux root]# useradd -s /dev/null tom
           [root@linux root]# useradd -s /dev/null jack
           [root@linux root]# useradd -s /dev/null red     
           [root@linux root]# useradd -s /dev/null blue
           [root@linux root]# useradd -s /dev/null ceo
           [root@linux root]# useradd -s /dev/null finance

       -----也可以用  [root@linux root]# useradd -s /bin/fales tom   

 

2,把两部门的员工分别加入进各组,
           [root@linux root]# usermod -g sales tom
           [root@linux root]# usermod -g sales jack
           [root@linux root]# usermod -g tech red
           [root@linux root]# usermod -g tech blue

      -----步骤2和步骤3可以简化成一个命令 [root@linux root]# useradd -g sales -s /bin/false tom

3,组和系统帐号都建立完了,没必要给各个帐号加密码,但需要加samba帐号密码

[root@linux root]# smbpasswd -a tom
[root@linux root]# smbpasswd -a jack
[root@linux root]# smbpasswd -a red
[root@linux root]# smbpasswd -a blue
[root@linux root]# smbpasswd -a ceo
[root@linux root]# smbpasswd -a finance

      -----查看确认samba帐号已加上密码 [root@linux root]# more /etc/samba/smbpasswd

 

4,为sales和tech两个组建立文件夹,并把所属组分别改为sales和tech(默认所属组是root)
[root@linux root]# mkdir /home/sales /home/tech
[root@linux root]# chgrp sales /home/sales
[root@linux root]# chgrp tech /home/tech

  使组内的用户有对文件夹有写权限
[root@linux root]# chmod 770 /home/sales
[root@linux root]# chmod 770 /home/tech

  使文件夹永久共享,不发生权限混乱
[root@linux root]# chmod g+s /home/sales
[root@linux root]# chmod g+s /home/tech

 

5,把sales和tech两个组文件夹共享出来,修改smb.conf,在最末端添加以下内容

[sales]
  path = /home/sales
  comment = sales
  public = no
  valid user = @sales
  write list = @sales
  create mask = 0770
  directory mask = 0770

[tech]
  path = /home/tech
  comment = tech
  public = no
  valid user = @tech
  write list = @tecj
  create mask = 0770
  directory mask = 0770

保存退出,重启smb服务器

6,测试,以windows客户机和linux客户机访问服务器,采用不同用户进行合法访问和非法访问,这

里就不浪费时间了。因为系统帐号已经没有访问服务器的shell,消除了以帐号猜测的安全隐患,所

以这里没有用到帐号映射。即使你把权限设置成了读、写、运行,但samba服务器会自动把运行的权

限去掉,这是安全因素的考虑,

 

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

 

在linux下调试程序就是这样,总会遇到各种各样的问题,配置服务其实不难,排错就成了关键啊