前回は、Sambaを使ってRaspberry PiをNAS化することに成功しました!
当初の目的である「社内NAS」として使っていくには、共有フォルダが1つではまだまだ不十分。誰でも入れる共有フォルダの他に、パスワード付きの自分専用フォルダが欲しいところです。部署ごとで使えるようなグループフォルダもあると便利ですね。
今回は「アクセス制限」を中心に、社内NASとして使いやすいようにカスタマイズしていきたいと思います!
まずはSWATの準備!
前回インストールしたSambaの設定ツール「SWAT」を使って、各種パラメータの設定を行なっていきます。
ブラウザで http://localhost:901/ にアクセスし、rootユーザーでSWATにログインします。
他のユーザーでもログイン可能ですが、設定できる項目が限られてしまうので、必ずrootユーザーでログインしましょう。
GLOBALSを確認!
メニューの左から二番目の「GLOBALS」は、Samba全体の共通設定です。いくつか初期値が設定されているので、NASに影響する設定がないか、先に確認しておきましょう。
間違えやすいのは「security」の設定。ディレクトリごとの個別の設定を「SHARES」で行うので、なんとなく直感的に「share」を選択してしまいそうになりますが、なんと非推奨設定となっています。(わたしはこれで随分手間取ってしまいました……)
NASとして使うにはデフォルト値の「USER」のままで良さそうです。
「workgroup」と「netbios name」は、どちらもWindowsからアクセスした際にエクスプローラから確認することができます。これもデフォルトのままでも大丈夫そうですね。
ユーザーを作ります!
ログインが必要なディレクトリを作成するにあたり、先にRaspbian側でユーザー追加を行います。ユーザーの作成方法は、前回rootユーザーを作るときに調べました。Linuxコマンド「adduser」です!いつものようにLX Terminalからコマンドを入力します。
adduser maru
自分専用ということで、「maru」というユーザーを作ってみました。今回はrootアカウントでログインしているので、「sudo」は付けなくてもOKです。
実際の画面がこちらです。コマンドの入力後、パスワードを聞かれますので、同じものを2回入力してください。その後、フルネームや部屋番号なども聞かれますが、今回は特に必要ないのでEnterキーを押してスキップしていきます。正しく入力できたら、「y」キーで完了です!
Raspberry Piのユーザー作成が終わったら、次はSambaのユーザーを作成します。SWATを使ってやってみましょう!
こちらのページを参考にさせていただきました!
Sambaのユーザー作成は「PASSWORD」画面から行います。
「User Name」に先程Raspbianに登録したユーザー名を入力し、「New Password」と「re-type New Password」には任意のパスワードを入力します。今回は新規作成なので「Add New User」ボタンをクリックします。
ボタンの下に「Added user maru.」とメッセージが表示されると、ユーザー作成の完了です!
個人用ディレクトリを作ります!
ディレクトリの準備も、前回同様に進めていきます。
先程「maru」というユーザーを作成したので、「home」の中にユーザー名のフォルダができていました。今回はこの中に設定したいと思います。
/home/maru/nas/
作りたいのは自分専用ディレクトリなので、パーミッションはデフォルトのまま、所有者のみが読み書き可能な状態にしておきます。
rootユーザーでログインした状態でフォルダを作成したので、所有者が「root」となっています。ここは、「maru」に書き換えてしまいましょう。
それではSWATから、ディレクトリを設定したいと思います。
「SHARES」画面に移動します。
「Create Share」ボタンの右となりにテキストボックスがありますので、ここに任意のディレクトリ名を入力します。今回は「maru_nas」としました。入力したら、「Create Share」ボタンをクリックします。
ディレクトリが作成され、パラメータが入力できるようになりました!最初はからっぽの状態なので、必要な項目を設定していきます。
分かるところからひとつずつ埋めていきましょう!
まずは「path」です。先程作成したディレクトリパス(/home/maru/nas/)を入力します。そして上の方にある「Commit Changes」ボタンをクリックします。
これで他のマシンから確認できるようになるはず!ということで、WindowsマシンからNASに接続してみました。……あれ? ディレクトリが出てこない…?
SWATとコマンドの違い
コマンドラインからの入力と、SWATを使った設定では、何違いがあるのでしょうか。
SWATの「VIEW」画面から確認してみましょう。メニューの右から二番目にある「VIEW」アイコンをクリックします。
下の方にスクロールしていくと、前回作成した「all」ディレクトリと、今作成した「maru_nas」ディレクトリが並んでいます。
比べてみると……
前回の記事で確認してみると、「all」の方は入力したもののみが表示されていました。「maru_nas」の方は……「path」しか設定していないはずなのに、「available=No」という見覚えのない文字列が!SWATを使う場合と、コマンドで設定する場合とでは、デフォルト値の認識が少し違うのでしょうか。「SHARES」画面に戻って、「available=Yes」に設定し直せば解決です!
Widowsから再度アクセスする前に、Sambaを再起動しましょう。
Sambaの再起動
Sambaの設定を変更した際は、再起動が必要です。再起動はメニューの右から3つ目の「STATUS」から行うことができます。
操作は簡単!「Restart All」をクリックするだけです。ワンクリックで全部やってくれるのでとても便利!
設定がうまく反映されているかは、Windowsから見てみると確認できます。
新ディレクトリ登場!成功です!
まずはこれで、前回と同じ「誰でもアクセスできるディレクトリ」の状態になりました。
アクセス制限で自分専用ディレクトリに!
次は、自分だけがアクセス可能なように、パスワード制限をかけたいと思います。userが含まれているパラメータ名はたくさんありますが、「valid users」というパラメータです。
「SHARES」画面から、「valid users」というパラメータに、先程準備しておいたユーザー「maru」を入力します。複数指定する場合は、半角カンマ区切りで追加しましょう。
Windowsから「maru」ディレクトリにアクセスすると……
パスワードの入力ボックスが表示されました!
rootユーザーのログイン情報を入力してみたり、パスワードを間違えてみたり、正しく動くかどうか試してみましたが、Sambaに設定したログイン情報以外では入ることができなかったので、成功しているようです。
書き込みができるように「write list」と「read only 」の値も調整し、各パラメータは最終的に次のようになりました。
[maru_nas] path = /home/maru/nas/ valid users = maru write list = maru read only = No
自分専用NAS、完成です!
ユーザーグループを使ってグループディレクトリを作成!
個人フォルダの他に、部署ごとで使えるようなディレクトリがあると便利ですね。でも一人分ずつユーザー名を設定するのは面倒……そんなときは「ユーザーグループ」の出番です!
まずはRaspbian側の設定から。ユーザーグループを作成し、グループにユーザーを登録します。
groupadd developer gpasswd -a maru developer
groupadd:グループを作成するコマンド。
gpasswd:グループを管理するコマンド。「-a」はユーザーをグループに追加するオプション値。
LX Terminalよりコマンド入力です。「developer」グループを作成し、先程作った「maru」ユーザーを追加してみました。処理は一瞬で完了します。
次はSambaの設定です。ユーザーのときとは違い、グループをSambaに登録する必要はないので、行うのはディレクトリ作成のみです。
まずはフォルダの準備です。今回はこのようにしました。
SWATの「SHARES」より、「developer」グループを作成します。手順は先程の自分専用ディレクトリと同じなので割愛します。
完成した設定はこちら!
[developer] path = /home/developer valid users = +developer write list = +developer read only = No
ポイントは「valid users」と「write list」のパラメータです。文字列「+」からはじまっています。これは、UNIXのグループ名という意味です。
「write list」パラメータは、書き込み権限が与えられるユーザーのリストです。今回の場合は、「valid users」と合わせてdeveloperグループを指定しています。
「valid users」の逆、「invalid users」パラメータの項に説明が書いてあります。
developerグループに所属するユーザーだけが読み書きできるグループディレクトリが完成しました!ユーザーを増やしたい場合は、「gpasswd」コマンドを使って、このグループにユーザーを追加してあげればOKです。
まとめ
誰でも使える共有ディレクトリ、・グループ用の共有ディレクトリ、自分専用ディレクトリと、3種類のディレクトリ作成に成功!人数分、部署分のディレクトリを用意すれば、社内NASとして便利に使っていけそうです!
NASを作ったごほうび(?)に、新しいRaspberry Piをもらいました!
Raspberry Pi model B+です!
次回(第8回)はこの新しいRaspberry Piを使って遊んでいきたいと思います。記事を書きながら勉強してきたことの復習です!2回目なのできっとスムーズにできるはず!?