为了从 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/music
用sudo
(或者也许有其他建议?)创建目录,然后使用上述 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
目录不要与我自己绑定。
我想回答我自己的问题,作为对其他可能想要实现类似目标的人的建议。
不过我仍然欢迎更好的建议。