各ユーザーが特定のフォルダーにアクセスできるように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
に配置されます。もちろん、これらの必要性の1つだけが通常のファイルとして存在し、もう1つはシンボリックリンクにすることができます。
[sharename]
browseable = yes
ただし、%U
の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
オプションで共有を「閲覧」できることを意味します。