用户帐号映射

       如果global里边的security = user且共享目录中的public = no或者没有public这个选项(如果public=yes,照样可以匿名访问),那么访问samba共享的时候就需要输入用户名和密码,
这个用户名必须是linux中存在的账户,如果不存在,是不可能访问的

系统中没有test用户或者匿名访问
[test@bogon ~]$ smbclient //192.168.1.6/public -U test
Password:
Anonymous login successful
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.33-3.7.el5]
tree connect failed: NT_STATUS_ACCESS_DENIED

系统中有lab账户,登录成功
[test@bogon ~]$ smbclient //192.168.1.6/public -U lab
Password:
Domain=[MYLAB] OS=[Unix] Server=[Samba 3.0.33-3.7.el5]
smb: \>

但是有个安全问题,只要用户知道了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帐号来登录的,这样就可以达到隐藏系
统帐号的目的
[root@mylab ~]# vi /etc/samba/smbusers
# Unix_name = SMB_name1 SMB_name2 ...
root = administrator admin
nobody = guest pcguest smbguest
lab = apple orange

3,最后就是重启服务service smb restart(reload),用apple访问也成功了
[test@bogon ~]$ smbclient //192.168.1.6/public -U apple
Password:
Domain=[MYLAB] OS=[Unix] Server=[Samba 3.0.33-3.7.el5]
smb: \>