今天学习了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下调试程序就是这样,总会遇到各种各样的问题,配置服务其实不难,排错就成了关键啊