仅向某些用户显示特定的 samba 共享

仅向某些用户显示特定的 samba 共享

我想设置我的 samba,以便每个用户都可以访问特定文件夹。例如,其中一些在服务器上有主文件夹,并且这些文件夹应该有权访问其主文件夹,而另一些则没有,也不应该访问。我已经设定

[share1]
    ...
    valid users = user1, user2
    #those users have access to this share
    ...

结果是只有部分用户可以访问这些文件夹,这很好。但是当我以 user3 身份登录时,他看到了这个 share1,但无法访问它。如何使其仅对某些用户可见,以便无法访问共享的用户根本看不到它?

我找到了一些可以使用的建议browseable list = user1 user2,但它对我不起作用,testparm说这browseable list是不正确的。

答案1

你想要的似乎只能通过丑陋的黑客才能实现。

首先将共享设置为browseable = noinclude /etc/samba/sharename.%U.conf

[sharename]
path = /path/to/share
valid users = user1, user2 
public = no
browseable = no
writeable = yes
include = /etc/samba/sharename.%U.conf

然后将以下行放入文件/etc/samba/sharename.user1.conf和 中/etc/samba/sharename.user2.conf。当然,其中只有一个需要作为常规文件存在,另一个可以是符号链接。

[sharename]
browseable = yes

%U但请注意in的定义man smb.conf

   %U
       session username (the username that the client wanted, not
       necessarily the same as the one they got).

如果我没看错的话,这意味着任何使用smbclient(或其他允许用户指定用户名的 CIFS 工具)的人都可以使用-U user1-U user2选项“浏览”共享,而无需密码。

相关内容