[global] Security =<level> 1. share windows用户不需要认证,就能访问共享名列表,做为本地服务器常用. 2 user 客户端必须输入合法的用户才能访问共享名列表,服务器上需要建立用户账号,做为本地服务器常用 3.Server 客户端必须输入合法的用户才能访问该服务器,但客户端需要连到其他的服务器上进行认证.比较适用于有认证服务器(2003或者2000域控制器)的时候使用,这样的话你的桌面上根本就不需要建任何用户账号,所有客户机都必须通过其它服务器才能访问你.这时候所有的客户机账号保存在其它服务器上 默认使用的是share ,改成user使用,保存退出,重启服务,此时再访问linux服务器的时候,会要求输入用户名与密码的,但此时samba上是没有加任何账号的,所以这时你是根本无法访问的,所以使用user级别是比较安全的,这样samba上的资料不会被别人看到,但是注意这个认证,对于windows客户端必须要输入用户名密码,对linux客户机根本就不需要,如下图,当要求我们输入密码的时候,直接回车进行匿名访问,就可以看到linux服务器共享的目录,虽然你能看到这个目录,但是当你访问的时候,它的访问权限是由这个目录本身的属性决定的, 下边我们来访问一下这个docs目录,匿名访问,可以看到匿名登录是成功的(如上图),说明这个目录的共享属性保护的只是这个目录共享名本身,而安全级别保护的是共享列表本身,而共享列表保护的只是windows的客户端,它只能限制windows客户端,所以说现在windows客户端根本看不到共享目录,进都进不去,哪怕里边的共享目录是允许匿名访问的,这个windows用户也无法访问, 下边进入共享目录的配置文件查看一下,#iv /etc/samba/smb.conf,找到共享的docs目录,(如下图)它的public=yes是允许公开的,所以说linux用户可以看到里边的共享列表,(也能看到里边的共享目录).但windows用户看不到共享列表,所以说里边的目录是共享的,也是看不到的, 访问控制 一,全局访问控制 [global] Hosts deny=ALL Hosts allow=10.0.0. 二,局部访问控制 [docs] Hosts deny=ALL Hosts allow=10.0.0.241 [redhat] Hosts deny=10.0.0.241(失效) Hosts allow=10.0.0. 这里设置的是允许谁可以访问你的服务器,不允谁访问,拒绝(Hosts deny)或允许(Hosts allow)的命令后面跟的是网站地址,主机名或者是别名,或者是通配符,我们常用的通配符是ALL或者local,在[global]里边定义的是全局性的访问控制语句,在具体的某一个共享目录里定义的是局部的 |