LANDISK HACKING DIARY | ||
Since2005/8/17 | ||
TOPへ戻る | ||
INDEX | ||||||||||
1. samba の設定 2. 特定の共有に対してログインの度にパスワードを入力させる 3. 共有にアクセスするにはIPアドレスで! 4. 参考文献 |
||||||||||
samba の設定 | ||||||||||
さて、今までにも samba の説明は何度かしていましたが、LAN 内での利用を想定していたため、誰もがアクセスできるフルアクセスの状態にしていました。ただ、いつまでもこの状態にしておくのはちょっとばかり不安です。友達が来たとき、彼女が来たとき、親がパソコン使いたいといってきた時、あまり見られたくはないデータのひとつやふたつあることでしょう。 「そんなのないよ」 「ウソはつかないでください!」 絶対にあるはずです。ピー.* とか ^エ.* とか。そういう時のために、きちんとアクセス制御をしておこうと思うのですが、samba って簡単そうに見えて細かな制御をやろうとすると意外と奥が深いんですよね~。でも、がんばってそこら辺をきちんとしておいた方が精神的にも気が楽になるので思い切ってやってしまいましょう。でも、ほんとに全部をやろうとは思いません。きっと一冊の本ができてしまうぐらい奥が深いだろうから。それと説明していてわかったのですが、綺麗にまとめようとするとかなり根気が必要なので、自分にとって役に立てばいいや程度にしか解説していませんので悪しからず。一番下に記した参考文献がとても役に立つのでそちらを見た方がいいという罠もあります。 ■Global Settings 全共有フォルダに対して適用されるセッティングです。ここの設定が一番悩むんじゃないかと思われます。制限を緩くすれば便利になりますが、セキュリティは低くなり、制限を厳しくすればセキュリティは高くなるが利便性が損なわれます。ここでは、企業内LAN などの大規模なネットワークを想定するわけではないので、セキュリティを保ちながら、極力、利便性のほうを優先したいと思います。とはいうものの、この「利便性」というのが曲者です。100人いれば100通りの要求があるわけで、1台のマシンしかもっていない方、2台~4台のマシンを持っている方、すでに家庭内小規模LANが出来上がっている方、必要なときだけマシンを立ち上げる人、常時マシンをつけっぱなしの方、どの場合も、Samba でやりたいことは大きく変わってきます。マシンが1台しかない場合は、はっきりいってアクセス制御なんて必要ないと言っても過言ではないだろうし。なので、ここでの想定環境は筆者の望む環境になっています。 まず、「workgroup」ですが、これは特に説明する必要はないでしょう。自分の好きなドメインを入れてください。
これは、LAN内におけるsamba サーバの説明(description みたいなもの?)です。Windows 上のマイネットワークから LANDISKのアイコンを右クリックして「プロパティ」した時に、ここで指定した名前が表示されていることでしょう。あるいは、コマンドプロンプトで、net view コマンドを打ち込んだ際にここでの値が使われます。
意外と重要。Windows 上から見たLANDISKの名前です。つじあやのファンなので、仮にAYANOとつけてみたり。Winからは「\\ayano」でアクセスできるようになります。
文字コード設定です。UTF-8 に設定しています。もうセットで考えてしまいます。EUC-JP とかSJIS とかにしたい人は他のサイトをあたってください。
------ 区切りをいれて、ここからはアクセス制御に関する設定。samba 共有にアクセスできるユーザを IPアドレス(マシン)単位で制限できる。Global Setting で設定することもできるが、特定の共有ディレクトリに対しても hosts allow を設定することができる。つまり、全体に対して、172.16.50. のネットワークを許可しておき、特定の共有ディレクトリだけ、172.16.50.2 に制限することなどもできる。
security は大事な項目です。ここで設定した値によって、その他の設定値も変わってきます。デフォルト動作は、security = user に設定されており、共有フォルダに個別のアカウント(あるいは、guest )を使ってアクセスできるようにします。なので、UNIXアカウントで設定されているユーザ名/パスワードでWindows 上にログインすると、共有へのアクセスが容易になる(再度、パスワードを入力する必要がなくなる)のでお勧めします。
share の場合は、共有ディレクトリに対し、固定のユーザアカウントを利用してアクセスできるようにするもので、共通のパスワードを使って誰もがアクセスできるようになります。当然、便利にはなりますが、その反面、セキュリティは下がります。設定や運用が簡単なので、小規模な共有に適しています。
その他にも、security = domain と security = server があります。domain の場合は、既にWindowsドメイン(ドメインコントローラなど)が存在し、そこにSambaマシンを追加する場合に適しています。server は、すでに、Windowsドメインや Samba サーバーが存在し、そこに Samba サーバーを追加する場合に適しています。 ここで、user か share かの選択を強いられるわけですが、セキュリティを強固にするためにも、user で解説を進めていきたいと思います。 以下は、筆者の環境での暫定的な smb.conf です。一応、共有名などは変更してあります(^_^;) 注意しておきたいのは、本当に細かく制御したいのなら複数のユーザを作成し、共有ディレクトリひとつひとつに対して異なるパスワードを設定しておくことです。そうでないと、特定の共有ディレクトリにログインしたら、あっちのディレクトリもこっちのディレクトリも芋ずる式に見えることになってしまうからです。書込みを許可していないはずのディレクトリに書き込めてしまったりとかも十分ありえます。ただ、自宅でそこまでする意味はないので、しません。2~3のユーザのみを作成し、管理していきます。
|
||||||||||
特定の共有に対してログインの度にパスワードを入力させる | ||||||||||
普通は、毎回パスワードを入力するのは避けたいものだが、特定の共有ディレクトリに対しては、ログインする度にパスワードを入力しなければアクセスできないようにしたいこともあるでしょう。そのためには、Windows でログインしているユーザとは異なる特別なユーザを Linux 上に作成してあげればよいだけだ。しかし、一度パスワードを入力してしまえば、ログイン中はずっとアクセスできるようになるので席を離れるときなどは注意が必要だ。強制的にパスワードを入力させるようにするには、「マイネットワーク」から「ネットワークドライブの切断」をしておけば再度パスワード入力が求められる。フォルダを閉じたら自動的にパスワードが聞かれるようになる(自動的にネットワークドライブを切断する)、という方法が実現可能ならば是非知りたいところだ。一応、net config server ではできるようだが…
smb.conf を編集する。
|
||||||||||
共有にアクセスするにはIPアドレスで! | ||||||||||
わけのわからないタイトルだろう。まず、筆者の環境を説明する。以下の2つの共有ディレクトリがあるとする。 FREE1 (valid users = kororo) FRRE2 (valid users = snoopy) Windows上には kororo ユーザでログインしていると仮定した場合、FREE1 共有には当然アクセスできる。しかも、パスワードを入力する必要がない。しかし、snoopy 共有へは kororo がアクセスすることはできないので、snoopy ユーザが所有するパスワードを入力しなければならない。kororo はそのパスワードを知っているが以下のようなエラーメッセージのため、ディレクトリへアクセスすることができない。 困った kororo は一旦、「マイネットワーク」から 「\\172.16.50.30\free1」のネットワークドライブを切断する。再度、FREE1 にアクセスしようとするが、上図と同じエラー画面が現れる。ここで注意したいのは、Windows2000を使っている場合に上図のようなエラー画面になるのであって、WindowsXPを使っている場合は、「ネットワークドライブを切断」した瞬間、セッションも切断され、再度、FREE1 共有にアクセスしたときには、パスワードプロンプトが現れてそこにユーザ名とパスワードを入力すれば、snoopy 共有にアクセスすることができる。しかし、Windows2000 を使っている場合、ネットワークドライブは確かに切断されるのだが、どこかでkororo のセッションが繋がっているらしく、snoopy でログインしようとしても上図エラーが発生してしまうのである。 しかたがないので、「ネットワークドライブの割り当て」から「異なるユーザ」を選択し、FREE1共有を割り当てようとすると今度は以下図のエラーが発生する。要するに、既に kororo ユーザのセッションがどこかに残っていて、snoopy ユーザとしてはログインできないんだよ、と言われているわけだ。 これを解決する手段として、共有ディレクトリへ フルパスのIPアドレスを指定してあげればよい。上述したものは、いずれも「マイネットワーク」から辿っていった結果として現れたエラー画面であって、IPアドレスを指定してアクセスすればすんなりと共有ディレクトリへ、snoopy ユーザとしてアクセスできるのである。同じような症状の方(いや、これは症状というよりもWindowsの仕様なのだろう)は、是非試してもらいたい。具体的に言うと、 \\172.16.50.30\free1 と指定してアクセスすれば良いのだ。 |
||||||||||
参考文献 | ||||||||||
⇒Using Samba ⇒smb.conf ⇒Chapter20.スタッカブルVFSモジュール |
TOPへ戻る | ||
Copyright © KORO All Rights Reserved. |