zoukankan      html  css  js  c++  java
  • 设置共享文件夹,samba和chmod到底谁的权限大

    1,必备知识。已经知道的请跳过。

    首先科普一下这两个东西:sambachmod其实是完全不同层面的东西,一个是共享服务协议,一个是权限设置语句。但是他们有一个共同的用途:可以用来实现设置一个共享文件夹的访问权限。

    Samba

    Samba是用来实现SMB的一种软件,咱们在这里在了解一下SMB(Server MessageBlock,服务信息块)。SMB协议可以看作是局域网上的共享文件/打印机的一种协议,它可以为网络内部的其它Windows和Linux机器提供文件系统、打印服务或是其他一些信息。

    Chmod

    可以使用命令chmod来为文件或目录赋予权限。Linux/Unix 档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。

    abc权限设置

    其中a,b,c各为一个数字,分别表示UserGroup、及Other的权限。

    r=4w=2x=1

    若要rwx属性则4+2+1=7

    若要rw-属性则4+2=6

    若要r-x属性则4+1=5

     

    2,使用方法。

    Samba设置一个文件夹的权限步骤:

    1)编辑samba配置文件:sudo vi /home/etc/samba/smb.conf

    内容如下:

    [共享文件夹名]

    Path=/home/…/文件夹名

    Valid user=用户名1,用户名2,用户名3…

    Create mask=0777(此处权限设定依具体情况而定)

    2)重启samba使之生效:sudo smbd restart

    chmod更改一个文件夹的权限步骤:

    格式:chmod [-cfvR] [--help] [--version] abc /home/…/文件夹名

     

    3,比较实验。

    那么这两个家伙谁的权力大,谁的级别高呢,我做了如下一系列的实验:

    创建一个文件夹,修改smb.conf设置其为共享文件夹。此时,同时修改chmodvalid user来进行比较。

    1chmod abc>770 (如771,772,773,775,776,777 ;  valid user= user name A      =>  A有读,写,执行权限

    2chmod abc<760 valid user= user name A   =>  A的权限完全受制于chmod abc,与samba设置无关

    3chmod abc>770 (如771,772,773,775,776,777 ;  valid user内不包含 user name A (A为group user或者owner)     =>  A无读,写,执行权限

    4chmod abc<760  ;  valid user内无 user name A    (A为group user或者owner)  =>  A无读,写,执行权限

     

    4,结论。

    chmodsamba近端远端共同控制着一个文件夹的访问权限,相当于一条路的两道关卡,要想通过,缺一不可。chmod是本地控制,对各级用户使用权限具有本地决定权;samba是网端控制,在开放chmod权限的前提下(通常是至少770),才能使用samba进一步设置特定用户权限,具有网端决定权。

     

    5,特殊说明。

    1)若所共享的文件夹处于某一用户目录下,则对于该目录访问权限,该用户仅受本地chmod abc控制,samba对于设置无效。若将文件夹置于root目录下,则不存在这个问题。

    2samba中的valid user对文件夹的ownergroup user other具有同等的权限赋予能力。

     

  • 相关阅读:
    11 2
    10 29
    10 22
    dp的本质
    笛卡尔树小结
    Gitlab 备份迁移恢复报错gtar: .: Cannot mkdir: No such file or directory
    升级Jenkins版本
    当linux中的所有指令突然不能使用的时候
    合并范围
    每股收益列报计算
  • 原文地址:https://www.cnblogs.com/sopic/p/3226639.html
Copyright © 2011-2022 走看看