すべてのユーザーが特定のフォルダにアクセスできるようにSambaを設定したいと思います。たとえば、一部のフォルダにはサーバーにホームフォルダがあり、そのフォルダにはホームフォルダへのアクセス権が必要ですが、他のフォルダにはアクセスできないかアクセスできません。私は設定しました
[share1]
...
valid users = user1, user2
#those users have access to this share
...
その結果、一部のユーザーだけがこれらのフォルダにアクセスできますが、これは問題ではありません。しかし、私がuser3としてログインすると、彼はこのshare1を見ることができますが、アクセスできません。共有にアクセスできないユーザーがまったく表示されないように特定のユーザーにのみ表示されるようにするにはどうすればよいですか。
私はうまくいくいくつかの提案を見つけましbrowseable list = user1 user2
たが、私はうまくいかず、それが間違っているとtestparm
言います。browseable list
答え1
あなたが望むのは醜いハッキングを通してのみ可能です。
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
しかし、inの定義を参照してくださいman smb.conf
。
%U session username (the username that the client wanted, not necessarily the same as the one they got).
私が正しく理解した場合、これはsmbclient
CIFS(またはユーザーがユーザー名を指定できる他のCIFSツール)を使用している人は誰でも、または-U user1
オプション-U user2
を使用してパスワードなしで共有を「参照」できることを意味します。