Samba服务器和NFS差不多,Samba是在Windows操作系统下访问Linux主机,NFS可以让Linux客户端访问NFS服务器,NFS服务器可以使用Windows搭建也可以使用Linux搭建,但是Windows没法访问NFS服务器,所以要使用Windows访问一个Linux服务器的话就在Linux服务器上搭建Samba服务,Windows就可以访问Linux文件系统了。Samba服务器的简介:技术成就梦想51CTO-中国领先的IT技术网站。搭建Samba服务的步骤如下:

1、安装Samba:apt-get install samba

2、设置一个需要被共享的文件夹,例如/home/tq,将该文件夹的权限设置成最高权限:chmod 777 /home/tq,但是这样只是吧tq这个文件夹设置为全部用户都可访问,其子文件夹如果没有被设置足够的权限将不能再客户端进行修改或者新建文件。可以使用:chmod -R 777 /home/tq,可以更改该文件夹以及所有子文件夹的权限,但是新建的文件夹或者复制过来的文件夹的权限还要重新设置权限。

3、配置/etc/samba/smb.conf文件,在最后加上下面语句

[share]
      path = /home/tq
      available = yes
      browsable = yes
      public = yes
      writable = yes

share是Samba服务器对外表现的文件夹名称,path是服务器本身被共享的目录,下面的其他的属性按照字面意思即可解释。

4、重启服务器:/etc/init.d/samba restart

5、Windows下访问服务器,按下win+R运行,输入\\192.168.1.138即可访问,也可以直接输入\\192.168.1.138\\share直接打开。

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<分割线>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

按照上面的做法可以成功搭建Samba服务器,但是需要修改文件权限才能在windows下进行文件的修改和添加,但是使用git的时候修改文件的权限也是对文件的一种修改,git status之后一片红,受不了,使用git的情况下不能将文件的权限全部修改,只能在Samba服务器上下功夫了,修改/etc/samba/smb.conf文件:

[tq]
path=/home/tq
available = yes
browsable = yes
public = yes
writable = yes
force user = tq

加了最后一行force user = tq,tq是系统的一个用户名,然后将文件夹的名字也得改成tq,改成root连Samba服务器都访问不了,不知道为什么,希望高人解答。修改了之后就能再客户端进行文件增改了。但是又会发现一个问题,在windows端进行文件修改保存或者新建文件之后发现文件的权限都被修改了,这是不应该的,还是修改smb.conf文件:(参考文章:设置Samba服务器中新建文件/目录的权限_hustfoxy的专栏-CSDN博客

[tq]
path=/home/tq
available = yes
browseable = yes
public = yes
writable = yes
create mode = 0664  
force create mode = 0664  
directory mode = 0775  
force directory mode = 0775   
force user = tq
force group = tq

这样配置就能够在Windows端修改文件就不会修改文件的权限了,新建的文件权限是0664,新建文件夹的权限是0775。下面简单介绍一下这几个参数的含义:

  • 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 mode和create mask参数是同义词,用哪个都可以;而directory mode和directory mask参数是相同的。当你发现Samba中新建的目录/文件权限不正确,例如无法访问某个目录、无法更改文件,就需要检查上面几个值的设置。

Logo

更多推荐