WindowsからopenSUSEのファイル共有へアクセスする

 Windowsからsuseの共有フォルダへアクセスする。
 suseからWindowsへアクセスできるようになったなら、今度はWindowsからsuseの共有へアクセスさせたくなります。

 suseで「sambaサーバ」を有効にすれば、suse側にWindowsと同じような共有フォルダを作成することが出来ます。つまりファイルサーバとして他のパソコンからアクセスさせることが出来ます。
 そのためにはsuseが標準で備えているファイアウォール(外部からのアクセスを拒否する機能)をsamba用に一部緩和する必要が生まれます。

 難しそうです。でも問題ありません。suseはファイル共有と同時にファウアウォールを解放する、という手順を一画面で設定させてくれます。あたりがありがたいですね。感謝しましょう。
 SUSEのディスクを共有しなくても、sambaを有効にする利点はあります。
 それはPCにsamba名を名乗らせることで、家庭内のLANでPCのアドレスをホスト名で解決できることです。
 つまりWindows側のネットワークコンピュータにsuseが表示されるというスンポーです。
 これでsuseのIPアドレスを固定したり、家庭内でDNSを設定したり、他のWindowsPCのlmhostsファイルに記述したりしなくても、パソコン名だけでsuseへアクセスすることが可能になります。

 GUIからマウスだけでsuseのファイル共有にアクセスすることが出来ますし、覚えやすい名前でsuseへアクセスすることが出来ます。
 これはとても重要で便利なことです。

 YaSTからネットワークサービス、Sambaサーバと選択します。
 

 するとプログレスバーの後にメッセージが出ます。
 「sambaとsambaClientをインストールする必要があります」
 

 これはOSインストール時にsambaがインストールされていないと表示されます。
 ですが心配いりません、続行をクリックするとCDもしくはネットワークを介して自動的にsambaパッケージがインストールされます。

 sambaパッケージのインストールに成功すると、ワークグループの設定になりますので、家庭内で使用しているワークグループ名(標準はWorkgroup)を入力します。
 

 その次のsambaサーバの種類では「ドメインコントローラでない」を選択します。
 


 ・Sambaの設定
 起動タブで、サービスの起動方法を選択します。
 

 ヘルプには「コンピュータが起動するたびにサービスを開始するには起動時の動作を設定します」とあります。 日本語が妙ですが、こちらを選択しておきましょう。
 次にファイアウォールでポートを開く。
 これをチェックしておかないと、OSのセキュリティ機能によって他のPCからsuseの共有にアクセスできません。

 共有タブでは、suseのディスクを共有として公開する設定が記述されています。
 

 共有するのは/homeディレクトリ、/home/groupsディレクトリ、各ユーザのホームディレクトリ、printerドライバ、プリンタ、ネットワークプロファイルサービス、とあります。
 デフォルトとしてはちょっと多いですね。ですがここではそのままとします。
 気に入らない項目があれば自分で削除しても良いでしょう。
 ユーザによる共有にチェックを入れておくと、usersグループに所属する一般ユーザでも自分で共有ディレクトリを作成できます。
 ユーザのホームディレクトリがすでに共有されているのでこのチェックは無くても特別困らないと思いますが、チェックを入れておけばまた一つなにも考えずに済むのでチェックを入れておきましょう。このコンテンツはセキュリティより利便性です。

 最後に識別情報です。
 これはつまりWindowsのマイネットワークに表示されるコンピュータ名のことです。
 

 suseをインストールしたパソコンに名前をつけます。以後、ここで指定したコンピュータ名を使えばIPアドレスを意識しなくて済みます。

 
 以上で完了です。警告無視して設定します。

 試しにLAN内のWindowsパソコンのマイネットワークから「ネットワーク全体」「Microsoft WindowsNetwork」「Workgroup」を選択していくと、先ほどしていしたコンピュータ名が表示…されてません。

 その場合は少し時間を置いて見ましょう。
 

 やがて表示されたコンピュータ名は…Samba 3.0.23d-6-1083-SUSE-SL10.2…。こんなの指定した覚えがありません。
 

 これはWindowsXPなどでマイネットワークにはコンピュータ名より先にコンピュータのコメントを表示する動作のためです。
 suseは標準でこんな意味不明なコメントをコンピュータの説明として表示しているんですね。説明になってません。
 だから試しにsamba〜をクリックすると、確かに先ほど指定したコンピュータ名であることが分かります。
 しかしいくらなんでもこれでは目障りです。

 ではこの設定変更はどこから行うんでしょう。
 三つくらいやり方はありますが、比較的簡単なものを選びます。

 スタートメニューから個人設定をクリックし、「インターネット&ネットワーク」「Samba」を選択します。
 なのに右側の設定項目は全てグレーアウトしています。これはSambaの設定が管理者権限でないと設定できないからです。
 下のボタン「管理者モード」をクリックして、管理者パスワードを設定します。
 

 すると赤枠に囲まれて各項目が設定できるようになります。
 この中に見覚えのある文字列がありますね。そう、サーバ文字列という項目です。ここでコメントが設定できます。
 

 ここを空にしておけばマイネットワークにはホスト名が表示されますし、「キッチンのコンピュータ」などと入力しても良いでしょう。
 OKを押して、今一度Windowsのマイネットワークからパソコンを探すと、先ほど指定したコメント、もしくはコメントを空白にしたのならコンピュータ名が表示されています。
 ですがすぐには反映されてないかもしれません(なぜかサービスを再起動しても直っていません)。もしダメならsuseを再起動しましょう。
 これでsambaの設定は完了です。

 と行きたいところですが、そうは参りません。なにしろWindowsからsuseの共有ディレクトリへアクセスしようとしても、パスワードを要求されるばかりでアクセスできません。
 何度もLinuxのログインアカウントを入力しても、rootのアカウントを入力しても一向にダメです。
 それはsamba共有のアカウントは、Linuxのログインアカウントとは別モノだからです。(Windowsはログインも共有も同一のアカウントを用いますので、通常これらを意識することはありません)
 samba用のアカウント、すなわちsambaアカウントを作成する必要があります。

 この設定はGUIが用意されています。
 コメントの設定と同じく、スタートメニューから個人設定をクリックし、「インターネット&ネットワーク」「Samba」を選択します。
 ユーザタブをクリックすると、いかにもUNIXユーザをsambaユーザへ追加して管理できそうな画面が現れ、事実ここにsambaユーザを追加します。samba用のパスワードオを設定します。
 

 が、困ったことにこれらは巧く機能しません。
 sambaユーザを追加しても正常に追加されません。

 なぜでしょう。
 よくわかりません。しかたないので、この作業をコマンドから行います。

 sambaアカウントの作成をコンソールからコマンドによって行います。
 スタートメニュー」「システム」「端末」「mlterm」と選択します。コンソールが立ち上がったら、以下のコマンドを入力します。

 >su
 rootパスワード:
 #smbpasswd -a ユーザ名


 ここで重要なのは、作成するユーザ名はすでにLinuxの中に存在しているユーザ名であることです。パスワードはsamba固有のものになります。
 ※ユーザ名とパスワードを「アクセスする側であるWindowsのログオン情報」と揃えておくと、自動で認証されてシームレスに共有にアクセスできます。

 アカウントを作成したら、Windowsから再びsuseの共有ディレクトリへアクセスしましょう。
 Windowsから共有ディレクトリへアクセスするときに求められるユーザ名とパスワードに、作成したたsambaアカウントを入力すると、共有へアクセスできます。

 この後もう一度個人設定のsambaのユーザタブを確認すると、ユーザが追加されているのを確認できます。
 Windowsから正常に共有が確認できればOKです。

prev.gif