sambaを使えばwindowsでlinuxディレクトリを共有できる。
そこで、複数のwindows端末からsamba共有して
・特定のディレクトリは誰でもアクセスでき、(public)
・別の特定のディレクトリは限られたユーザーのみがアクセスできる(private)
という機能を会社のネットワークで実現したい。しかし会社
からwindowsドメインにsambaサーバを参加させないように言われている。
windowsドメインを使うとすぐできるらしいけど・・・。
sambaの設定は /etc/samba/smb.conf を設定することで行える。
smb.conf内は[]で囲まれた"サービス"の定義によって構成される。
文頭に'#'か';'が付いてることコメントアウトされる。
色々試したが、どうにもうまく行かない。
windowsからsambaにアクセスするとwindowsは自動的にwindowsのアカウントで
ログインにチャレンジする。このとき下記の3つのパターンがある。
①windowsアカウント名がsambaユーザーにも存在し、パスワードも同じ
②windowsアカウント名がsambaユーザーにも存在するが、パスワードは違う
③windwosアカウント名はsambaユーザーにに存在しない。
①の場合、該当するsambaユーザーでログインする。③の場合、map to guestが「Bad User」ならそのユーザーは自動的にguest accountで指定したゲストユーザーとなってログインするが、②の場合はパスワードを要求するダイアログが出る。publicなのにダイアログが出るのはおかしいのでmap to guestを「Bad Password」にした。これなら①の場合以外はゲストユーザーということで、publicアクセス時にダイアログは出ない。
しかし、問題はゲストユーザーでpublicにアクセスした後にユーザー認証をかけたディレクトリにアクセスしようとしたとき。①でsambaユーザーになっていればもなにもなくアクセスできるが、一端ゲストユーザーになっていると、privateアクセス時にユーザー名とパスワードを要求するダイアログが出てくる。しかも正しいユーザー名、パスワードを入れてもアクセスできない(!!)。
一度ユーザーが決まってしまうと、ユーザーを切り替えることはできないのだろうか?じゃあなぜダイアログが出てくる??このくらい需要はあるだろうからできると思うんだけどなー。windowsドメインを使うのがきっと普通なんだろうな~。
、smb.confは下記のように設定した。
------------------------------------------------------------------------
[global]
workgroup=MYGROUP
security=users
map to guest = Bad Password
guest account = guest
encrypt password = yes
smb password file = /etc/smbpasswd
[public]
comment = Any one can access here
path = /hoge/public
writable = yes
guest ok = yes
guest only = yes
[private]
comment = Only members can access here
path = /hoge/private
-------------------------------------------------------------------------
引き続き調査するっす。
参考になったページ
http://tonetsutomu.com/tone/articles/nby1999/samba2/
http://www.big.or.jp/~mio/it-old/sb/sb.htm
PR