如何将 Samba 共享设置为仅由某些用户访问?

Lia*_*iam 39 server permissions samba multiple-users

我在 Ubuntu Server 12.04 上安装了一个 RAID10 阵列。我在挂载点内创建了几个文件夹,并想要以下功能。

将有 4 个用户,其中 3 个是 Windows 用户:“一”“二”和“三”。'four' 是只需要访问 MEDIA 共享的媒体流媒体。一二和三需要完全访问媒体共享和他们自己的个人共享(用于文档),除他们之外没有其他用户可以访问。

目前,用户四完美运行(对 MEDIA 文件夹具有完全访问权限,无法访问其他用户拥有的文件夹)。问题是,当以其他用户身份登录时,我无法访问任何一个共享;(尝试使用有效用户 = 并使用 chmod 添加权限无济于事)。

TL;DR:我需要知道如何正确配置 Samba 以限制某些用户对某些共享的访问,并允许他们所有人访问一个公共文件夹(RAID10 安装上的所有文件)。

pho*_*bos 56

每个 samba 用户也必须有一个普通的 linux 帐户。

  1. 确保每个用户都可以访问unix端的common media文件夹(没有samba);另外,您也可以设置force usersmb.conf
  2. 确保每个用户都设置了 samba 密码。你可以设置它sudo smbpasswd -a your_user
  3. /etc/samba/smb.conf:检查该行security = user是否在[GLOBAL]section中设置
  4. 将您的份额设置为/etc/samba/smb.conf,请参见示例

示例共享:

[allaccess]
    path = /media/common
    read only = no
    writeable = yes
    browseable = yes
    valid users = one, two, three, four
    create mask = 0644
    directory mask = 0755
    ; if you set this, all files get written as this user
    force user = one
Run Code Online (Sandbox Code Playgroud)

这将可以通过 \\yourserver\allaccess

单个用户共享:

[special]
    path = /home/two/onlytwo
    read only = no
    writeable = yes
    browseable = yes
    valid users = one
    create mask = 0640
    directory mask = 0750
Run Code Online (Sandbox Code Playgroud)

更改后重新启动 samba 服务器:

sudo service smbd restart
Run Code Online (Sandbox Code Playgroud)

  • 我认为“只读”和“可写”是彼此所谓的“倒置同义词”。无需同时设置它们。 (4认同)
  • 你先生是神,面具和武力使用者是我一直需要但不明白的东西。 (2认同)