如何设置 Samba 共享以仅供特定用户访问?

如何设置 Samba 共享以仅供特定用户访问?

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

将会有 4 个用户,其中 3 个是 Windows 用户:“one”、“two”和“three”。 “four”是只需要访问 MEDIA 共享的媒体流媒体。One、Two 和 Three 需要对媒体共享和他们自己的个人共享(用于文档)具有完全访问权限,除他们之外,其他用户都无法访问。

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

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

答案1

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

  1. 确保每个用户都可以在 unix 端访问公共媒体文件夹(无需 samba);或者,您可以force user设置smb.conf
  2. 确保每个用户都设置了 Samba 密码。你可以使用以下命令设置sudo smbpasswd -a your_user
  3. 查看/etc/samba/smb.conf:检查该行是否在该部分security = user中设置[GLOBAL]
  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

可通过以下方式访问\\yourserver\allaccess

单个用户共享:

[special]
    path = /home/two/onlytwo
    read only = no
    writeable = yes
    browseable = yes
    valid users = one
    create mask = 0640
    directory mask = 0750

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

sudo service smbd restart

相关内容