设置Samba上写入文件或目录的用户权限


设置Samba上写入文件或目录的用户权限
 
Linux上开放Samba共享目录时,可以通过/etc/samba/smb.conf配置文件的guest account、create mask和directory mask属性,来设置写入共享目录中的文件或目录的用户权限。
 
Java代码  
[global]  
        workgroup = TUX-NET  
        interfaces = 127.0.0.1 eth0  
        bind interfaces only = true  
        printing = cups  
        printcap name = cups  
        load printers = yes  
        security = share  
        log file =/nbs/log/samba-log/samba.log  
        guest account = root  
        create mask = 666  
        directory mask = 777  
  
#============================ Share Definitions ==============================  
[BSP-DATA]  
        comment  = BSP Data  
        path    = /nbs/BSP-DATA  
        writable        = yes  
        browseable      = yes  
        guest ok        = yes  
 
如果samba中未设置guest account、create mask和directory mask,则samba服务会默认使用nobody用户作为写入共享目录的属主和属组。这个类似vsftpd服务使用ftp用户作为匿名用户访问的权限。
 
另一个问题,虽然设置了:
create mask = 666
directory mask = 777
但Linux客户端访问Samba共享目录时,写入的文件权限是rw-rw-r--,目录权限是drwxrwxr-x,other用户的权限位不充许写,与设想的不同。而Windows客户端访问时,写入的文件和目录与设想的一致,即文件权限是rw-rw-rw-,目录权限是drwxrwxrwx。
 
最后,在Linux客户端上设置写入samba共享目录的用户的umask为0000,可以实现预想的设置。具体Linux权限间什么机制还没搞白,先能使上。
 

相关内容

    暂无相关文章