Samba 建立服务器基于用户验证方式的共享目录(注意:服务器采用用户验证)
任务说明:
1、服务器采用用户验证的方式
2、建立一个group1的文件夹,并且只有用户group1才有权访问并读写。
3、建立一个gp1的目录,只有group1组的用户可以访问并读写
4、建立一个gp2的目录,group1组和group2组的用户都可以读,但只有group2组的用户有权写
5、建立一个公共的只读文件夹public,所有人只读这个文件夹的内容;
1.添加组,并为组添加用户
#groupadd group1
#groupadd group2
#useradd -g group1 group1
#useradd -g group1 user1
#useradd -g group1 user2
#useradd -g group2 group2
#useradd -g group2 user3
#useradd -g group2 user4
#smbpasswd -a group1
#smbpasswd -a group2
#smbpasswd -a user1
#smbpasswd -a user2
#smbpasswd -a user3
#smbpasswd -a user4
2.修改配置文件:smb.conf
debian:~# vi /etc/samba/smb.conf
[global]
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
[homes]
comment = home directories
browseable = no
writeable = yes
valid users = %S
create mode = 0664
directory mode = 0775
[public]
comment = public's directory
path = /home/public
public = yes
writeable = no
[group1]
path = /home/group1
comment = group1's diterctory
public = no
writeable = yes
valid users = group1
[gp1]
path = /home/gp1
comment = gp1's diterctory
public = no
valid users = @group1
write list = @group1
[gp2]
path = /home/gp2
comment = gp2's diterctory
public = no
valid users = @group1,@group2
write list = group2
3.建立相应目录并授权
debian:~# mkdir /home/group1
debian:~# chown group1.group1 /home/group1
debian:~# mkdir /home/gp1
debian:~# chown group1.group1 /home/gp1
debian:~# mkdir /home/gp2
debian:~# chown group2.group2 /home/gp2
debian:~# mkdir /home/public
debian:~# chmod 777 /home/public
4.重启samba(同上)
5.windows访问共享文件 (同上)
6.debian访问共享文件(同上)
用户帐号映射
但是有个安全问题,只要用户知道了samba账户就相当于知道了系统的一个帐号,如果密码被破解,就可以来攻击samba机器。我们可以采用帐号映射来解决这个问题
1,首先在/etc/samba/smb.conf的global settings中添加如下行
username map = /etc/samba/smbusers
2,然后编辑/etc/samba/smbusers文件建立映射关系
格式如下
smb帐号 = 虚拟帐号
lab = apple orange 用apple或者orange登录其实用的都是lab帐号来登录的,这样就可以达到隐藏系统帐号的目的
没有 SMBPASSWD 文件
请在SMB.CONF 指定passdb backend = smbpasswd后重启服务,再使用smbpasswd命令。