背景:
我们今天要实现的环境是,假如一个公司有3个部门,分别是财务部cwb,工程部gcb,领导层ldc.由于windows病毒泛滥,作为文件服务器经常在使用中被病毒感染导致经常维护,直接的导致了工作效率也增加了管理员的工作量。因此领导层要求管理员立刻解决问题。
要求:
1.每一个员工有各自独立的目录,并且之能由本人访问。其它员工不能看到更不能访问。
2.各个部门有自己独立的共享目录,并且只能由本部门的员工访问,但领导层可以访问所有部门共享目录。
3.建立一个公用目录,员工可以写自己的数据和删除,但别人不能修改其它员工数据。
备注:
1.为了实验的测试需要,我们建立3个测试帐号,顺便演示怎么创建samba用户.
2.由于有朋友反应说文本下配置服务。我想想也是,文本模式才是最原始的东西,也是最核心的东西。大家会文本模式,图形模式就基本没问题了。
步骤:
安装samba参考前篇文章 [url]http://eric86.blog.51cto.com/115287/48311[/url]
我们这里因为只用到文本模式,所以只要安装samba-3*.rpm就可以了
创建三个部门组
#groupadd cwb
#groupadd gcb
#groupadd ldc
创建测试数据
#useradd cwb01 -g cwb
#useradd gcb01 -g gcb
#useradd ldc -g ldc
把用户添加到samba数据库
#smbpasswd -a cwb01
#smbpasswd -a gcb01
#smbpasswd -a ldc01
创建文件夹
#mkdir /home/samba
#mkdir /home/samba/cwb
#mkdir /home/samba/gcb
#mkdir /home/samba/ldc
#mkdir /home/samba/exch
我们为了避免麻烦可以在这里把上面所有的文件夹的权限都设置成777
配置samba文件.
#vi /etc/samba/smb.conf
以下部分为我在smb.conf里修改或增加的内容。没有出现的不要动,默认就好。 蓝色修改, 红色增加!
完成以后保存.再对数据进行测试
#testparm
然后大家可能会发现我在配置时说第三要求没有真正实现,是的我们现在来实现。
#chmod -R 1777 /home/samba/exch
注意这里权限是1777,类似的系统目录/tmp也具有相同的权限,这个权限能实现每个人能自由写文件,但不能删除别人的文件这个要求.其实这里只是设置unix的一个粘着位!
到此为止我们的设置已经能实现我们的共享文件要求,记得重启服务
#service smb restart
测试方面大家可以用windows测试,也可以用smbclient工具测试。
#smbclient -L 服务器ip -U 用户名
或挂载目录到本地
#smbmount //服务器ip/目录 /mnt/目录 -o username=用户名
终于都完成了!希望大家踊跃提出自己的见解,使这个实践更加完善!
我们今天要实现的环境是,假如一个公司有3个部门,分别是财务部cwb,工程部gcb,领导层ldc.由于windows病毒泛滥,作为文件服务器经常在使用中被病毒感染导致经常维护,直接的导致了工作效率也增加了管理员的工作量。因此领导层要求管理员立刻解决问题。
要求:
1.每一个员工有各自独立的目录,并且之能由本人访问。其它员工不能看到更不能访问。
2.各个部门有自己独立的共享目录,并且只能由本部门的员工访问,但领导层可以访问所有部门共享目录。
3.建立一个公用目录,员工可以写自己的数据和删除,但别人不能修改其它员工数据。
备注:
1.为了实验的测试需要,我们建立3个测试帐号,顺便演示怎么创建samba用户.
2.由于有朋友反应说文本下配置服务。我想想也是,文本模式才是最原始的东西,也是最核心的东西。大家会文本模式,图形模式就基本没问题了。
步骤:
安装samba参考前篇文章 [url]http://eric86.blog.51cto.com/115287/48311[/url]
我们这里因为只用到文本模式,所以只要安装samba-3*.rpm就可以了
创建三个部门组
#groupadd cwb
#groupadd gcb
#groupadd ldc
创建测试数据
#useradd cwb01 -g cwb
#useradd gcb01 -g gcb
#useradd ldc -g ldc
把用户添加到samba数据库
#smbpasswd -a cwb01
#smbpasswd -a gcb01
#smbpasswd -a ldc01
创建文件夹
#mkdir /home/samba
#mkdir /home/samba/cwb
#mkdir /home/samba/gcb
#mkdir /home/samba/ldc
#mkdir /home/samba/exch
我们为了避免麻烦可以在这里把上面所有的文件夹的权限都设置成777
配置samba文件.
#vi /etc/samba/smb.conf
以下部分为我在smb.conf里修改或增加的内容。没有出现的不要动,默认就好。 蓝色修改, 红色增加!
[global]
server string = Eric86's Samba Server
log file = /var/log/samba/%m.log
max log size = 50
dns proxy = No
cups options = raw
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
[homes]
comment = Home Directories
valid users = %S #区分大小写
read only = No
create mask = 0664
directory mask = 0775
browseable = No
#以上第一个要求就完成了
[cwb]
path = /home/samba/cwb
valid users = @cwb, @ldc
write list = @cwb
public = no
printable = no
[gcb]
path = /home/samba/gcb
valid users = @gcb, @ldc
write list = @gcb
public = no
printable = no
[ldc]
path = /home/samba/ldc
valid users = @ldc
browseable = No
public = no
printable = no
#以上完成第二要求
[exch]
path = /home/samba/exch
read only = No
guest ok = Yes
public = yes
writable = yes
#以上为完成第三要求而作
server string = Eric86's Samba Server
log file = /var/log/samba/%m.log
max log size = 50
dns proxy = No
cups options = raw
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
[homes]
comment = Home Directories
valid users = %S #区分大小写
read only = No
create mask = 0664
directory mask = 0775
browseable = No
#以上第一个要求就完成了
[cwb]
path = /home/samba/cwb
valid users = @cwb, @ldc
write list = @cwb
public = no
printable = no
[gcb]
path = /home/samba/gcb
valid users = @gcb, @ldc
write list = @gcb
public = no
printable = no
[ldc]
path = /home/samba/ldc
valid users = @ldc
browseable = No
public = no
printable = no
#以上完成第二要求
[exch]
path = /home/samba/exch
read only = No
guest ok = Yes
public = yes
writable = yes
#以上为完成第三要求而作
完成以后保存.再对数据进行测试
#testparm
然后大家可能会发现我在配置时说第三要求没有真正实现,是的我们现在来实现。
#chmod -R 1777 /home/samba/exch
注意这里权限是1777,类似的系统目录/tmp也具有相同的权限,这个权限能实现每个人能自由写文件,但不能删除别人的文件这个要求.其实这里只是设置unix的一个粘着位!
到此为止我们的设置已经能实现我们的共享文件要求,记得重启服务
#service smb restart
测试方面大家可以用windows测试,也可以用smbclient工具测试。
#smbclient -L 服务器ip -U 用户名
或挂载目录到本地
#smbmount //服务器ip/目录 /mnt/目录 -o username=用户名
终于都完成了!希望大家踊跃提出自己的见解,使这个实践更加完善!
转载于:https://blog.51cto.com/eric86/48386