Total Pageviews

Saturday, 3 December 2011

设置Samba服务器中的新建文件/目录的权限

通过Samba服务器实现windows和Linux之间的文件共享,相信是绝大多数人的选择。通常我们都会使用Samba的缺省配置,这样,每次通过 Samba从Windows向Linux中拷贝文件时,文件都会被加上”可执行”的属性。对Easwy来说,这是很让人头疼的问题,每次都要通过 chmod去修改文件的权限很是麻烦。
今天仔细看了一下Samba的手册,发现只要把下面的配置加入/etc/samba/smb.conf就可以解决这个问题:
create mode = 0644
force create mode = 0644
directory mode = 0755
force directory mode = 0755 
下面简单介绍一下这几个参数的含义:
  • create mode – 这个配置定义新创建文件的属性。Samba在新建文件时,会把dos文件的权限映射成对应的unix权限,在映射后所得的权限,会与这个参数所定义的值进行与操作。然后再和下面的force create mode进行或操作,这样就得到最终linux下的文件权限。
  • force create mode – 见上面的描述。相当于此参数所设置的权限位一定会出现在文件属性中。
  • directory mode – 这个配置与create mode参数类似,只是它是应用在新创建的目录上。Samba在新建目录时,会把dos–>linux映射后的文件属性,与此参数所定义的值相与,再和force directory mode相或,然后按这个值去设置目录属性。
  • force directory mode – 见上面的描述。相当于此参数中所设置的权限位一定会出现在目录的属性中。
说明一点,上面的create modecreate mask参数是同义词,用哪个都可以;而directory modedirectory mask参数是相同的。
当你发现Samba中新建的目录/文件权限不正确,例如无法访问某个目录、无法更改文件,就需要检查上面几个值的设置。
另外需要说明的是,上面几个配置项,会和security maskforce security modedirectory security maskforce directory security mode这几个配置项相互作用。这几个带”security”的配置项会影响Windows NT/2000的ACL功能,一般我们不需要设置。

No comments:

Post a Comment