Entry: sambaでハマり中
sambaでハマり中
Initial post:
2009.05.27
|
Last modified:
2009.05.27
要件
ひとつのsambaサーバーにpublicとsecretaryという二つのマウントポイントを設置し、以下のアクセス制限をかける。対象クライアントはWindowsXP。
- public:社員全員がアクセスできる(パスワード入力なしが理想)
- secretary:総務課のみがパスワード入力後にアクセス可能
publicは既設のマウントポイントがあり、secretaryは/homeに1ユーザーとして新規ディレクトリを用意した。各社員のWindowsのログオンユーザー名などは無管理状態。
smb.confの設定。
[global]
workgroup = WORKGROUP
security = user
map to guest = Bad User
passdb backend = tdbsam
obey pam restriction = yes
unix password sync = yes
[public]
path = /public
writable = Yes
guest ok = yes
browseable = yes
read only = no
create mask = 0777
directory mask = 0777
[homes]
comment = Home Directories
browseable = yes
read only = no
create mask = 0700
directory mask = 0700
valid users = %S
上記の設定で、publicにはパスワードなしでアクセスでき、homes以下はユーザー毎に所定の認証を経てアクセスできるようになったけど、致命的な問題が。
WindowsXPの初回起動時、
- ¥¥192.168.0.69¥secretary
- ¥¥192.168.0.69¥public
という順序でアクセスすると問題ないんだけど、これを逆にすると
¥¥192.168.0.69¥secretaryにアクセスできません。このネットワークリソースを使用するアクセス許可がない可能性があります。アクセス許可があるかどうかこのサーバーの管理者に問い合わせてください。同じユーザーによる、サーバーまたは共有リソースへの複数のユーザー名での複数の接続は許可されていません。サーバーまたは共有リソースへの以前の接続をすべて切断してから、再試行してください。
とwindows側にエラーがでてアクセスできない。一旦、guestとしてログオンしてしまうとsecretaryとしての認証はできないということか。
正しい順序のサーバーログ
secretary (::ffff:192.168.0.181) connect to service secretary initially as user secretary (uid=1000, gid=1000) (pid 21888) secretary (::ffff:192.168.0.181) connect to service public initially as user secretary (uid=1000, gid=1000) (pid 21888)
正しくない順序のサーバーログ
secretary (::ffff:192.168.0.181) connect to service public initially as user nobody (uid=65534, gid=65534) (pid 21890)
debug level = 3すると、一旦、windowsのログオンユーザー名で認証を試みている風なログは残っているので、この当たりが糸口なのかな。なんか、よくある要件だろうし、絶対もっと簡単な気がするんだけど、なんでこんなにつまづいてるんだろう。
Subscribe to my RSS feed