MacOSXのマシンとWindowsマシン間でファイルを共有させる 〜Samba編〜

MacOS Xはほぼ完全にUNIXなので、当然UNIXで使用するソフトが使えます。数あるUNIXのソフトの中にSambaというWindowsとファイルを共有するソフトがフリーで提供されているのでこれを使用します。

1.インストール

まず下記のサイトからMacOS X用のSambaをダウンロードしてきます。

http://homepage.mac.com/hirotosakai/samba.html
(2001/12/18更新 日本語ファイルの文字化け問題に対応しています。SCCTも置いてあります。)

ダウンロードするとデスクトップにファイルが作成されるのでダブルクリックして解凍します。イメージファイルをマウントしてインストールを続行します。

2.確認

インストールが終わったら再起動することをお勧めします。この時点で既にSambaは立ち上がっていますが、設定ファイルを編集しないとWindowsから接続することは出来ません。まずsambaが正常に起動しているかどうかを見るためにTerminalから見たほうがいいでしょう。(要root rootになるには

[localhost:/etc] root# ps x | grep smbd
373 ?? Ss 0:00.01 /usr/local/samba/bin/smbd -D

3.設定

Sambaを設定する方法は3つあります。1つはvi等のエディタを使用して /usr/local/samba/lib/smb.conf ファイルを直接編集する方法。
2つめはSambaに付属しているSWATを使用して行う方法。この方法はブラウザからhttp://localhost:901 と 入力することでGUIベースの設定が行えるという利点があります。今はこの方法が主流だでしょう。
3つめは上記のSambaをダウンロードしてきたサイトにおいてあるSSCTを使う方法です。MacOSXで行う場合はこの方法が一番とっつきやすいかもしれません。ただし設定の細かさはSWATにはおよびません。

Sambaの細かい設定はとりあえずほかのサイトに任せます。SWATに関しては多くのサイトがあるしSSCTに関しては少しいじってみればわかるはずです。ここではインストール中に気づいた細かい注意点を述べます。

/etc/hostconfigに注意

うちの環境ではどういうわけか/etc/hostconfigが上書きされてしまいました。理由も、どの時点で上書きされたのかもわからないのですが(もしかしたらうちだけかも・・・)とりあえずバックアップを取っておくことをお勧めします。
また、Sambaを自動起動させるには /etc/hostconfig 内に 「SAMBA=-YES-」という行がなくてはいけません。ホスト名も「HOSTNAME=MacOSX」などのように設定しておいたほうが無難です。

ユーザーの追加

Sambaサービスで使用するユーザーを決めるためにTerminalから下記のコマンドを実行してユーザーを作成します。
[macosx:~] root# smbpasswd -a [USERNAME]
この後にパスワードを入力します。
[macosx:~] root# smbpasswd -e [USERNAME]
このコマンドでユーザーを有効化します。

もしかしたら
startsmbfilepwent_internal: unable to open file /usr/local/samba/private/smbpasswd. Error was No such file or directory
というエラーが出るかもしれません。ファイルがねーぞってなエラーなので
[localhost:~] root# touch /usr/local/samba/private/smbpasswd
としてファイルを作成してやってくださいな。

・ディレクトリの設定

なお、共有フォルダに書き込みの権限を与える場合はTerminalから下記のコマンドを実行します。
[macosx:~] root# chmod 777 [SHARE_DIRECTORY]
こうしておいて具体的なアクセス権はsmb.confで設定します。

4.(再)起動

smb.confを書き換えただけで変更がすぐに反映されるわけではありません。sambaのプロセスを再起動してやる必要があります。面倒なことがしたくない人はマシンごと再起動してしまって構いません。

まずsambaのプロセスを確認します。 sambaのデーモンプロセスの名前はsmbdといいますので、

[macosx:~] ps x | grep smbd

と入力すると下記のようなメッセージが出てくると思います。

[localhost:local/samba/var] root# ps x |grep smbd
171 ?? Ss 0:00.01 /usr/local/samba/bin/smbd -D

これはプロセス番号171でsambaが動作しているという意味なので171を再起動してやります。また、この番号はマシンによって違うのでバカ正直に171を再起動させないで、状況に合わせて作業してください。

[localhost:/etc] root# kill -HUP 171
として再起動させるかもしくは
[localhost:/etc] root# smbd restart
でもいいです。

もし、動かなかったら・・・

最後の手段です。セキュリティとかあんまり考えてないので気をつけてください。この設定は 「1つのユーザー名とパスワードで共有ディレクトリにフルアクセスする方法」と考えてください。間違って文章を消されたりする可能性があるので実稼動サーバーではお勧めしません。家庭内だったらコレで十分でしょう。常時接続の場合は注意が必要ですがパスワードをしっかりかけていれば、まぁ大丈夫だと思います。

共通で使うユーザーの名前を share 、共有ディレクトリを/Users/Shared/として話を進めましょう。インストールが終ってsmbd、nmbdが立ち上がっているのが確認できますか?(ps x)出来ない場合はとりあえず再起動してみましょう。それでダメならエラーログを参照します。エラーログは

[macosx:~] root# cat /usr/local/samba/var/log.smbd
[macosx:~] root# cat /usr/local/samba/var/log.nmbd

で表示できます。問題なく稼動している場合はなにも出力されていないと思います。

1、smb.confを書き換える。
下記のように書き換えてください。太字の部分だけ注意しましょう。

[global]
coding system = utf8-mac
client code page = 932
netbios name = MACOSX <<Windowsでいうコンピューター名、スペース無しで全部大文字ががいいと思う。
server string = MacOSX Samba Server <<サーバーの説明、適当に
encrypt passwords = Yes
syslog = 0
syslog only = Yes
dns proxy = No

[public]
comment = Public Folder
path = /Users/Shared <<共有フォルダのパスを書く
valid users = share << 共通で使用するユーザー名に書き換える。
writeable = Yes
guest ok = Yes

2、ユーザーの追加
上のほうの説明と同じです。share(仮)を追加、有効化します。
[macosx:~] root# smbpasswd -a share
この後にパスワードを入力します。
[macosx:~] root# smbpasswd -e share
このコマンドでユーザーを有効化します。

3、パーミッションの設定
[macosx:~] root# chmod 777 /Users/Shared/
読み書きを許可します。

とまぁこんな感じでとりあえず繋がるようにはなるはずです。これでダメだったら・・・なんなんでしょうねぇ?


分からない点があれば掲示板に書き込んでみてください。

44172 Hits

戻る