需要有关 Samba 共享和权限的建议

需要有关 Samba 共享和权限的建议

为了从 Windows XP 系统访问 samba 共享,我正在尝试实现以下操作:

实时用户将获得一个主目录,如果他们被认证为所有者,则可以通过 samba 以完全权限访问该目录。我使用以下 samba 配置设置来实现此目的:

####### Authentication #######

   security = user
   encrypt passwords = yes
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdate$
   pam password change = yes
   map to guest = bad user

####### Shares #######

[homes]
   comment = %S
   path = /home/%S
   allow hosts = 127. 192.168.1.
   valid users = %S
   browseable = yes
   writable = yes
   create mask = 0700
   directory mask = 0700

除了在创建文件和目录时设置正确的权限外,这基本上符合预期。但我读到了一些其他答案,谈到了修改不同的mask变体。所以我可能会修复这个问题,所以:到目前为止一切顺利。

另外,我想要的是另一个文件夹(music),我(假设myusername)可以以完全权限访问该文件夹,而来宾(无需进行身份验证即可访问这些文件夹)只能具有读取权限。

我创建了一个名为 的组music和一个名为 的用户,music并设置了主目录/home/music,并将其添加myusername到该组中music。然后我尝试了以下 samba 配置:

[music]
   comment = %S
   path = /home/music
   allow hosts = 127. 192.168.1.
   browsable = yes
   writable = yes
   read list = @music
   write list = myusername
   create mask = 0700
   directory mask = 0700

但是,从 Windows XP 登录此 samba 目录myusername不允许我创建文件和/或目录。这可能是因为与设置冲突[homes](因为它已经引用了目录/home)?还是我误解了用户/组权限的原则?

除此之外,我也开始思考:我是否需要首先要创建组和用户music吗?这似乎有点多余,因为他们本来就没有写权限。我不能简单地/home/musicsudo(或者也许有其他建议?)创建目录,然后使用上述 samba 设置吗?

无论如何,我喜欢将此文件夹放在/home分区上(它位于单独的硬盘上,是该硬盘上的唯一分区)。我认为这是我的“数据”分区,而不仅仅是“用户数据”。或者一般来说,这是不受欢迎的?

正如你所看到的,我在思考一个好的权限策略时遇到了一些困难提出正确的 samba 配置设置。

您能否告诉我如何才能最好地实现我想要实现的目标?

答案1

好的,到目前为止,我已设法通过在中创建一个myusername名为的目录来获得我想要的东西music。我完全删除了组和用户music(及其主目录)。

所以现在我的家庭结构是:

- /home
   - /myusername
     - /music
   - /otherusername
   - /andanotherusername

并且我设法获得了完全可访问的用户主目录(因为我已经拥有了):

[homes]
   comment = %S
   path = /home/%S
   allow hosts = 127. 192.168.1.
   valid users = %S
   browseable = no
   writable = yes
   create mask = 0700
   directory mask = 0700

并且目录music仅供访客读取,但可供myusername以下用户完全访问:

[music]
   comment = %S
   path = /home/myusername/music
   allow hosts = 127. 192.168.1.
   browsable = yes
   guest ok = yes
   guest account = nobody
   read list = nobody
   write list = myusername
   create mask = 0755
   directory mask = 0700

不过,在主目录中必须有一个子目录还是感觉有点奇怪myusername。我更希望这个music目录不要与我自己绑定。

我想回答我自己的问题,作为对其他可能想要实现类似目标的人的建议。

不过我仍然欢迎更好的建议。

相关内容