LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3298|回复: 21

如何设置Samba服务来实现“windows用户在网上邻居中隐藏自己无权限访问的目录”?

[复制链接]
发表于 2005-6-6 18:14:23 | 显示全部楼层 |阅读模式
配置了一台Samba服务器,给客户使用,当有八九个目录后,把每个目录设置为browseable=yes后,发现某些用户没有权限访问的目录,在网上邻居中也能浏览;如果设置成
browseable=no,自己有权限进入的目录却不能显示在网上邻居的列表中!

找了很多资料,还是没有找到,郁闷了许久!那位高人能指教指教吗?

我现在的smb.conf文件如下:
[global]
workgroup = Shnas
client code page = 936
;security = server
security = user
server string = 4000
        encrypt passwords = Yes
        username level = 8
        map to guest = Bad User
        null passwords = Yes
        max log size = 10
        name resolve order = bcast wins
        socket options = TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=8192 SO_RCVBUF=8192
os level = 32
        preferred master = Yes
        dns proxy = No
        config file = /etc/config/smb.conf
        smb passwd file=/etc/config/smbpasswd   
        username map = /etc/config/smbusers
        guest account = guest
;       force create mode = 0111
        directory mask = 0777
        create mask = 0664
;       veto files = /.*/
;       show add printer wizard = no
;       nt smb support = no
;       nt pipe support = no
        oplocks = no
locking = yes
disable spoolss = yes
Netbios name = QNAPNas
interfaces = eth0
wins support = yes
bind interfaces only = no
force directory mode = 0777
force create mode = 0664
character set =
force directory security mode = 0777
password server = 172.56.1.11
[public]
comment = disk for public display
path = /share/MD0_DATA/home/public
browsable = yes
invalid users = guest
read list = @"everyone"
write list = @"administrators"
[guest]
comment = disk for guest download
path = /share/MD0_DATA/home/guest
browsable = yes
invalid users =
read list = @"everyone",guest
write list = @"QNAP",@"administrators"
[frankxu]
comment = disk for frankxu
path = /share/MD0_DATA/home/frankxu
browsable = yes
invalid users = guest
read list =
write list = frankxu
[bojiang]
comment = disk for bojiang
path = /share/MD0_DATA/home/bojiang
browsable = yes
invalid users = guest
read list =
write list = bojiang
[junxiao]
comment = disk for junxiao
path = /share/MD0_DATA/home/junxiao
;browsable = no
invalid users = %G
;read list =               
;write list = junxiao
read only = no
[leozhang]
comment = disk for leozhang
path = /share/MD0_DATA/home/leozhang
browsable = yes
invalid users = guest
read list =
write list = leozhang
[software]
comment = disk for QNAP software
path = /share/HDC_DATA/home/software
browsable = yes
invalid users = guest
read list =
write list = @"QNAP",@"administrators"
[hijanexiong]
comment = disk for hijanexiong
path = /share/HDC_DATA/home/hijanexiong
browsable = yes
invalid users = guest
read list =
write list = hijanexiong
[tomxie]                    
comment =
path = /share/HDD_DATA/home/bojiang
browsable = yes
invalid users = guest
read list =
write list = administrator,bojiang,hijanexiong
[service]
comment =
path = /share/HDC_DATA/home/service
browsable = yes
invalid users = guest
read list =
write list = administrator
发表于 2005-6-6 18:29:21 | 显示全部楼层
browseable=no
就是登陆以后才看得到,不是很好吗?
用valid user=xxx对访问用户作限制,而不是write list
因为write list只是判断读写权限,而不限制对share的访问权
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-6 18:57:11 | 显示全部楼层
可是这样的话,用户不知道有那些目录是自己的,我的想法是他要先看到这个目录,再去访问这个目录,而不是事先已经知道这个目录,在浏览器中输入地址路径去访问他的!
还有一个问题,其中“invalid users = %S”这一行中,invalid users是什么意思?%S是什么意思?S大小写有区别吗?
回复 支持 反对

使用道具 举报

发表于 2005-6-6 19:04:54 | 显示全部楼层
用security=share就够了
然后guest ok =no禁用guest访问
然后写valid user=xxx
总之,你想限制用户对share 的访问,只有valid user=作限制.不然就是没有限制
The current servicename is substituted for %S. This is useful in
the [homes] section
回复 支持 反对

使用道具 举报

发表于 2005-6-6 19:21:16 | 显示全部楼层
man smb.conf看了看
感觉security=user就是说,要访问samba server,就得先通过认证一步,然后自然的属于这个用户的share就蹦出来了.
security=share较方便,基于每个共享认证.但是如何断定访问的客户名较复杂,可能混乱.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-7 11:47:04 | 显示全部楼层
当我把smb.conf的一个共享目录设置成如下:
[global]
………
security = share
………
[junxiao]
comment = disk for junxiao
path = /share/MD0_DATA/home/junxiao
guest ok = no
valid user=junxiao
[……… ]
…………

重启SMB服务后,发现在windows xp下登陆用户名时,登陆框中guest用户名变灰,输入junxiao在Linux中对应的密码,不能进入共享文件夹!
回复 支持 反对

使用道具 举报

发表于 2005-6-7 12:02:17 | 显示全部楼层
总之还是
security=user
最好用,anyway,登陆这个服务器先经过认证一步,不是最安全么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-7 12:29:44 | 显示全部楼层
下面是我访问时出现的对话框:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2005-6-7 12:32:05 | 显示全部楼层
还是改成security=user看看
man smb.conf
里面写道用share安全等级可能会在判断用户名上混乱。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-7 12:33:58 | 显示全部楼层
对,但我的最终目是:
用户能看到的文件夹,就是他能进入的文件夹;
如果用户看不到这个文件夹,他也就不能进入这个文件夹。
现在最主要的就是不能实现那些客户不能进入访问的文件夹,他也能看得到!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表