赞
踩
一个比较正常的共享设置
[MyShare]
comment = grind’s file
path = /home/grind
allow hosts = host(subnet)
deny hosts = host(subnet)
writable = yes|no
user = user(@group)
valid users = user(@group)
invalid users = user(@group)
read list = user(@group)
write list = user(@group)
admin list = user(@group)
public = yes|no
hide dot files = yes|no
create mode = 0755
directory mode = 0755
sync always = yes|no
short preserve case = yes|no
preserve case = yes|no
case sensitive = yes|no
mangle case = yes|no
default case = upper|lower
force user = grind
wide links = yes|no
max connections = 100
delete readonly = yes|no
其中[]里面的MyShare指定共享名,一般就是网络邻居里面可以看见的文件夹的名字。
comment指的是对改共享的备注。
path指定共享的路径,其中可以配合samba变量使用。比如你可以指定path=/data/%m,这样如果一台机器的NETBIOS名字是grind,它访问MyShare这个共享的时候就是进入/data/grind目录,而对于NETBIOS名是glass的机器,则进入/data/glass目录。
allow hosts和deny hosts和前面的全局设置的方法一样这里不再提及。
writeable指定了这个目录缺省是否可写,也可以用readonly = no来设置可写。
user设置所有可能使用该共享资源的用户,也可以用@group代表group这个组的所有成员,不同的项目之间用空格或者逗号隔开。
valid users指定能够使用该共享资源的用户和组。
invalid users指定不能够使用该共享资源的用户和组。
read list 指定只能读取该共享资源的用户和组。
write list指定能读取和写该共享资源的用户和组。
admin list指定能管理该共享资源(包括读写和权限赋予等)的用户和组。
public指明该共享资源是否能给游客帐号访问,这个开关有时候也叫guest ok,所以有的配置文件中出现guest ok = yes其实和public = yes是一样的。
hide dot files指明是不是像unix那样隐藏以“.”号开头的文件。
create mode指明新建立的文件的属性,一般是0755。
directory mode指明新建立的目录的属性,一般是0755。
sync always指明对该共享资源进行写操作后是否进行同步操作。
short preserve case指明不管文件名大小写。
preserve case指明保持大小写。
case sensitive指明是否对大小写敏感,一般选no,不然可能引起错误。
mangle case指明混合大小写。
default case指明缺省的文件名是全部大写还是小写。
force user强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,如果我用force user= grind强制建立文件的属主是grind,同时限制create mask = 0755,这样guest就不能删除了。
wide links指明是否允许共享外符号连接,比如共享资源里面有个连接指向非共享资源里面的文件或者目录,如果设置wide links = no将使该连接不可用。
max connections = n设定同时连接数是n。
delete readonly指明能否删除共享资源里面已经被定义为只读的文件。
问题一:其他机器访问Fedora 9的共享目录时,始终都被要求输入用户名和密码,即使是[public]定义的共享目录也一样!而[public]配置无误,guest ok = yes, public = yes,而我以前长期使用的Mandriva系统没有这个问题。
解决办法:解决这个问题需要修改smb.conf文件,在[global]节中加入map to guest = bad user,这个配置的意思是将所有samba系统主机所不能正确识别的用户都映射成guest用户,这样其他主机访问Fedora 9的public目录时就不再需要用户名和密码了。
分析:在Fedora 9系统中,map to guest的默认配置不是bad user,因此一旦客户机中访问Fedora 9的用户不是map to guest所指定的用户时,则samba将之视为普通用户,而不是guest,从而要求用户输入用户名和密码。假设客户机访问的用户名是guest,密码为空,而samba的map to guest又正好设置为guest,则客户机将不用输入用户名和密码。为了能适应所有客户机中不同的guest帐号,map to guest = bad user是个明智的选择。
问题二:Fedora 9访问其他任何机器时,能看到共享目录和其下的文件和子目录,但是不能进行写操作,只要一写就报告“为smb协议服务的进程意外退出”,无法在XP的共享目录中进行写操作,部分打开文件夹的操作也报此错误!这个问题令人百思不得其解,只到晚上我在家里使用Smb4k访问远端主机的共享目录时才现出此错误的真实面目:
mount error 1 = Operation not permitted
解决办法:开一个console,敲入以下命令:
su -c 'chmod u+s /sbin/mount.cifs'
su -c 'chmod u+s /sbin/umount.cifs'
或者su -到root用户,再执行chmod。
分析:由此错误提示可见,出现这个错误的原因在于samba客户端在挂载远端主机的共享目录时没有权限,而我平时在使用Linux系统时都是用普通用户登录而非root用户,普通用户默认没有mount的权限,因此挂载不上远端共享目录,无法写操作就很正常了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。