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

Linux上开放Samba共享目录时,可以通过/etc/samba/smb.conf配置文件的guest account、create mask和directory mask属性,来设置写入共享目录中的文件或目录的用户权限。

 

 

[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权限间什么机制还没搞白,先能使上。

 

 

 

 

 

 

 

你可能感兴趣的:(samba)