在我的 samba 配置中 - 我希望它将下面示例共享中的“有效用户”链接到示例文本文件:
security = user
[example share]
path = /example/path/here
read only = no
guest ok = no
valid users = (LINK TO TEXT FILE)
有效用户.txt
user1, user2, user3
答案1
您无法按照您的要求进行操作,但我将在此处描述三种替代方案
包含一个语法上有效的
smb.conf
片段来定义您的用户。valid users = user1, user2, user3
将此片段包含在您的共享定义中。例如,如果调用该代码片段,
/usr/local/etc/smb.valid_users.conf
您将像这样声明您的份额[example share] path = /example/path/here read only = no guest ok = no include = /usr/local/etc/smb.valid_users.conf
当您更改用户列表时,您可能需要重新启动 samba (
systemctl restart smbd
)。请注意,因为这是一个include
,所以可以添加任何有效的代码 - 包括提供比您预期更多的访问权限的整个共享。不允许不受信任的用户访问更改配置文件!将用户放入一个组并在共享定义中引用该组。
valid users = @usersgroup
然后,像平常一样创建组
usersgroup
(请参阅groupadd
或addgroup
取决于您的操作系统变体)并将您的用户添加到其中模板化
smb.conf
并根据需要替换到其中。 (我最不喜欢的选项。)复制smb.conf
到smb.conf.template
共享定义中并使用此行,valid users = %USERSLIST%
然后使用类似的东西
sed
替换到模板中sed 's/%USERSLIST%/user1, user2, user3/g' /etc/samba/smb.conf.template >/etc/samba/smb.conf