JAMADAM.COM

RSS Subscribe to my RSS feed

Stripe Calendar

Sep, 2010
Aug 1213141516171819202122232425262728293031 Sep 123456

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の初回起動時、

  1. ¥¥192.168.0.69¥secretary
  2. ¥¥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のログオンユーザー名で認証を試みている風なログは残っているので、この当たりが糸口なのかな。なんか、よくある要件だろうし、絶対もっと簡単な気がするんだけど、なんでこんなにつまづいてるんだろう。

当たらずとも遠からずな参考サイト