MacでWindowsとSMBでファイル共有するための操作メモ。
なにげにすんなりいかなくてつらかった。Macの場合、濁点問題もあるし(日本語禁止令)、ファイル共有はあんまりやりたくないのだけれど、まぁ容量をほぼ無制限で使えるし、LAN内の安心感もあって、あれば便利ではある。
環境
環境は以下。
- macOS 10.13 High Sierra
- Windows 10
デバイスはiMacだったりMacBook Airだったり。
Mac側の操作
以下Mac側の操作。
IPアドレスの固定、ワークグループの確認
Windows側からアクセスする時、普通はIPアドレスでMacの場所を指定することになるので、IPアドレスは固定しておく。
「システム環境設定」→「ネットワーク」→eth0とかWi-Fiとか普段使っているネットワークアダプタ→「詳細」→「TCP/IP」タブ→手入力でIPアドレスを固定
あと、初期設定なら大丈夫なはずだけれど、「WINS」タブでワークグループがWindowsで使うWORKGROUPになっていることを確認。
ファイル共有用のユーザーの作成
必須ではない。というか、やると(アクセス権が)ややこしくなるので、しなくてよいならしないほうがよい。
だが、Windowsから共有フォルダにアクセスする時、ユーザー名とパスワードを求められる。ここで、普段Macで使っているユーザーのパスワードを入力しても問題ないのであれば、それでも構わない(自分専用のPC同士である、とか、管理者ではない、とか)。だが、共有フォルダの性質上、それは困ることもあるだろう。その場合、共有フォルダ用にユーザーを作成する(他になにか手があるだろうか……)。
「システム環境設定」→「ユーザーとグループ」より、適当にユーザーを作る。
共有フォルダの設定
共有するフォルダを決める。
決めたら設定すべく、「システム環境設定」→「共有」→「ファイル共有」より、チェックボックスをオンにしたうえで、共有フォルダを+で追加。
アクセス権はまぁ、共有フォルダであるので、すべてのユーザーについて「読み/書き」で良いと思うが、ユーザー毎に細かく権限を設定してもよい。まぁ運用方針次第である。
そのうえで、「オプション」より、Windowsファイル共有の欄から、Windowsでアクセスさせる予定のユーザーのチェックをONにする。

両方チェックする必要はない
上図では、Macの管理者アカウントと、Windowsでアクセスさせるためのユーザーアカウントの2つにチェックを入れている。
これでMac側の操作はOK。
Windows側の操作
次にWindows側の操作。
ネットワークの場所を追加
エクスプローラで「PC」を開いて、右クリックから「ネットワークの場所を追加する」。いつ見ても妙な感じのする文言だ。指示されるままに次へ。
で、Mac側の共有フォルダの場所を指定する。
¥¥<MacのIPアドレス>¥<共有フォルダ名>
後はユーザー情報を求められるので、ユーザー名とパスワードを入力して完了。Windows側はこれだけ。
後は試しにフォルダ作ったりテキストファイルつくったり編集したりなんだりして、テストして終わり。ここでもしアクセス云々言われて怒られたら、だいたい次のパーミッションのせい。
運用
運用時の留意点。
パーミッションの確認
共有フォルダ自体は、すべてのユーザーが読み書きできる状態(777)になっているはずだが、共有ユーザーとMacのユーザーが違ったりなどすると、共有フォルダ内でアクセス権の色々おかしくなったりする。なにかしようとしてアクセスできませんとか怒られたら、だいたいパーミッションのせい。
一番荒っぽいなおし方は、ターミナルを開いて、以下のコマンド。
chmod -R 777 共有フォルダ
なんとなく怖いけれど、これで共有フォルダ以下のすべてのファイルが、全員から読み書き実行できる状態になる(なってしまう、とも言う)。
でも、多分こうすることになっているんだと思う。実際、GUIでもアクセス権の補修はできるのだが、同じような感じ。
やり方は、例によってシステム環境設定の共有より、共有フォルダをCtrlキーを押しながらクリックすると、「内包している項目にアクセス権を適用」なるものが実行可能。そうするとみんながアクセスできるフォルダになる(パーミッションはファイルが666、ディレクトリが777だった)。……が、使っているとまた同じ問題が起きて面倒臭い。
所有者の確認
全部777にしちゃえという方針を取らず、また共有用のユーザーとMacで実際に使っているユーザーが違っていたりなどすると、ファイルの所有者が問題になることがある。
もし所有権を変えたい場合、
chown -R <user>.<group> FILE
<user>と<group>には適切なもの。
ユーザーの変更
アクセス権問題が面倒な場合、共有フォルダ内での操作は共有用のユーザーで実行する運用も考えられる。
sudo su - user
user部分には共有用のユーザー。でも都度アクセス権の修復をするのとどちらが面倒かと言われると微妙な気がする。
デフォルトのパーミッション設定の変更
アクセス権問題が本当に面倒な場合、いっそのこと、デフォルトのファイル・ディレクトリ生成時のパーミッション設定を変える、ということも考えられる……が、たかがファイル共有のための割には影響が大きすぎるし、これはやらないほうがいい気がする。やるなら「umask mac」とかで調べる(適当)。
濁点問題
Macのファイル共有のうえで知っておきたい問題として、Macの濁点問題がある。Macのファイルシステムの仕様なのだが、Macではファイル名の「がぎぐげご」が「か゛き゛く゛け゛こ゛」扱いというけったいな問題だ。普段は気にならないかもしれないが、スクリプトを動かそうとした時や、あるいはファイル圧縮しようとした時などに問題が発生する。このあたりの話は下記でつらつら。
- MacとWindowsのGoogle ドライブによる共有、また濁点でハマる – 或る阿呆の記
- rsyncでiconvオプションをつけると、deleteオプションの挙動が変わる??(Mac) – 或る阿呆の記
- Macでファイル共有の悩み…文字コード(濁点)、sambaの遅さ、iSCSIの対応 – 或る阿呆の記
ただし、sambaではきちんと処理してくれるようなので、問題は起きない……はず。多分。だがsshとかその他のオンラインストレージサービスを含めた運用しだすと、問題発生するかも。
一番ステキなファイル共有はDropbox
ここまでアレコレと書いてきてなんだけれど(むしろアレコレ書いたからこそか)、一番ステキにファイル共有できる手段はDropbox。Dropboxは同期も早いし確実だし、勝手にバックアップ取ってくれるし、アクセス権の問題もあまりないし、濁点問題も治してくれるし(地味に嬉しい)、Linuxでも使えるオンラインストレージサービスだし、容量とセキュリティ・ポリシーの問題さえクリアしているなら、Dropboxが最高なので、Dropboxを使えばいいのだと思う。
参考
参考にさせていただきました。ありがとうございます。
コメント