『メイン機』兼『自宅サーバー』として使用する予定で『Ubuntu 18.04 日本語Remix』をインストールして楽しんでいます。
『USBハードディスク』を『/srv』へマウントし『nautilus』から『samba』で共有しましたが、他のパソコンから頻繁に繋がらなくなる事象が発生しましたので、他の方法で『samba』共有してみたいと思います。
1.共有フォルダに繋がらない
『Ubuntu 18.04 日本語Remix』では、ファイルマネージャーソフトの『nautilus』から、簡単に『samba』による共有ができるようだったので、『USBハードディスク』を『/srv』へマウントし、『root』の壁を乗り越えて、どうにかこうにか設定しました。
実際に少しの間は共有できていたのですが、何かのタイミングで、次のようなメッセージが出るようになり、他のパソコンから頻繁に繋がらなくなってしまいました。
2.『nautilus』で作られる『samba』の設定ファイル
それならば『samba』の設定ファイル『/etc/samba/smb.conf』は、どんな風に作られて(変更されて)いるのだろうかと思い、中を覗いてみたところ、『nautilus』からの設定は全く反映されていない様子でした。
????
少し調べてみると、『nautilus』からの設定は『/var/lib/samba/usershare/』配下に『共有設定したフォルダ名』の設定ファイルができあがるらしい。
実際に見てみると確かにできている。
試しに自分の『ホーム』配下の『公開』フォルダを『nautilus』から『samba』による共有してみると、見事に同じような内容の設定ファイルが出来上がっていました。
3.『ホーム』内のフォルダを共有フォルダに!
こうなると設定ファイルに何の問題があるのか、
全く分かりません!
ということで、採り得る方法は2つです。
- 『nautilus』からの設定を諦め、『/etc/samba/smb.conf』を書き換えて『samba』で共有する
- 『/srv』配下に共有フォルダを置くのを止めて、『ホーム』内の『公開』フォルダを『samba』で共有する
通常のサーバ運用なら、きっと『案1』を採用するのでしょうが、今回は『メイン機』兼『自宅サーバー』として使用するノートパソコンへの設定です。
『/home/ユーザー名/公開』に『USBハードディスク』をマウントして、『公開』フォルダを家庭内で共有することにします。
当初は『/home』や『/home/ユーザー名』に『USBハードディスク』をマウントして、火事などの緊急事態に『/home』を持って逃げられるという『おまけ』付きで共有しようかと考えていたのですが、USBハードディスク』が問題を起こしてシステムが動かなくなると嫌なので止めておきました。
4.まずは『USBハードディスク』のマウントポイントを変更
- 最初に端末から『sudo nautilus』で『nautilus』を開き、『/srv』配下の共有設定を解除します。
- ユーティリティアプリケーションの『ディスク』を起動し、『歯車マーク』を押して『マウントオプションを編集…』を選び、『マウントオプション』画面を開きます。
- 『User Session Defaults』を『オン』にして『OK』ボタンを押下します。
- 『ディスク』を閉じて、パソコンを再起動すると、無事に『USBハードディスク』を『/srv』から切り離すことができました。
- 次に再度、ユーティリティアプリケーションの『ディスク』を起動し、『歯車マーク』を押して『マウントオプションを編集…』を選び、『マウントオプション』画面を開きます。
- 『User Session Defaults』を『オフ』にして『Mount at system startup』にチェックを入れ、『マウントポイント』を『/home/ユーザー名/公開』に変更し、『OK』ボタンを押下します。
- パソコンを再起動すると無事に『USBハードディスク』が『/home/ユーザー名/公開』にマウントされました。
5.『公開』フォルダを『nautilus』から『samba』で共有
- 『nautilus』を開き『公開』フォルダを右クリックし、プロパティを開きます。
- 今まで色々と設定を繰り返していたからか、何か違う理由からか、『公開』フォルダの所有者が『root』になっていて共有できません。
- ユーティリティアプリケーションの『ディスク』を起動して、一旦『User Session Defaults』を『オン』にしてマウントを解除しパソコンを再起動します。
- 再起動後『公開』フォルダのプロパティを確認すると所有者は自分になっていました。
- 仕方がないので『公開』フォルダ配下に『USBハードディスク』をマウントするためのフォルダ(マウントポイント?)を作成します。今回は仮に『SHARE』としました。
- 再度『ディスク』を起動し、『USBハードディスク』を先ほど作った『SHARE』にマウントします。
- パソコンを再起動し『nautilus』で確認すると『SHARE』に『USBハードディスク』がマウントされていますが、所有者が『root』になっていて共有できません。
- その上の階層のフォルダ『公開』の所有者は自分のままだったので、こちらを共有してみます。
- 『公開』フォルダを右クリックし、プロパティを開きます。
- 『ローカルネットワーク共有』タブを選び、共有名を分かりやすい名前に変更し、(外部に接続していないので)全てのチェックを入れ、『共有を作成』を押下します。
- アクセス権付与に関するメッセージがでますので、『自動的にアクセス権を付加する』を押下します。
これでどうやら『USBハードディスク』を『samba』で共有できたようです。
また少し使ってみて問題がでたら、
泣きながら対処します。
6.作業を終えて
『公開』フォルダの所有者はそのままなら『自分』です。
『USBハードディスク』をただパソコンに接続すると『/media/ユーザー名』にマウントされて、こちらも所有者は『自分』です。
しかしながら『公開』など他の場所へ『nautilus』でマウントすると所有者が『root』になってしまいます。
これはきっと何かシステム的に問題が起きないように配慮されているに違いありません(と思います)。
ということで、『公開』フォルダの配下に所有者が『root』になってしまう『SHARE』フォルダ(マウントポイント)を作り、所有者が自分のままとなった『公開』フォルダごと共有してみました。
『SHARE』フォルダのプロパティをみると所有者は『root』のままですが、『nautilus』の『ローカルネットワーク共有』機能によって『自動的にアクセス権を付加する』を選ぶとアクセス権は共有に都合が良いように変更されるようです。
やれやれ、これで問題が無ければ良いのですが。。。