Debian
僅向某些使用者顯示特定的 samba 共享
我想設置我的 samba,以便每個使用者都可以訪問特定文件夾。例如,其中一些在伺服器上有主文件夾,那些應該可以訪問他們的主文件夾,其他沒有,他們不應該。我已經設定
[share1] ... valid users = user1, user2 #those users have access to this share ...
結果是只有部分使用者可以訪問這些文件夾,這很好。但是當我以 user3 身份登錄時,他看到了這個 share1,但無法訪問它。如何使其僅對某些使用者可見,以便無法訪問共享的使用者根本看不到它?
我找到了一些使用建議,
browseable list = user1 user2
但它對我不起作用,testparm
說這browseable list
是不正確的。
你想要的似乎只能通過一個醜陋的黑客來實現。
首先將共享設置為
browseable = no
和include /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
or-U user2
選項“瀏覽”共享,而無需密碼。