TrueNAS SCALE の SMB を ACL Editor でアクセス制御してみる

TrueNAS SCALE になって画面が若干変わったのですが、見て分かる感じなので後回しになっていました。
TrueNAS の SMB を ACL Manager で説明してみる の焼き直しです。ちょっと余分な部分の説明はカットしてみました。

Dataset を作成して、共有設定するところまでは説明しましたので、あとは、アクセス権のコントールをするため、ありがちなパターンをいくつか説明してみようと思います。

Linux 風のアクセス権コントロールだとユーザーとグループそれぞれ1つずつなので、融通が利かず必要に応じてアクセスコントロール用のグループを作成したりする運用が必要になりますが(TrueNAS CORE でも ACLを使えば自由度は確保できます)、 TtueNAS SCALE では、ユーザーやグループを複数設定できるので自由度が高くなっています。
Dataset を SMB で作成すると基本的に ACL で運用する設定になります。画面の様子を見てる感じでは Strip ACLs を実行したり、 Dataset を General で作成すると旧来の Linux 風のアクセス権コントロールになるみたいです。

自由度が高くなった分、機能を濫用して複雑に設定すると、ともするとどうすれば適切なアクセス権がつくつもりなのか、把握しておくことが難しくなったりもするでしょうか。
(ので Use Preset を選んでちょっと調整する、位がいいかと)


アクセス権の設定は、


まず Allow Guest Access について説明

Shares の Windows (SMB) Shares のところに並んでいるところろからですが

scale_acl_00a.png

ACLの前にまずは鉛筆マークの Edit


scale_acl_00b.png

Edit SMB
の Basic のところは特にこれと言ってないのですが、
Advanced Options
をクリックして

scale_acl_00c.png

増えた項目に
Allow Guest Access
という項目があります。
これは、このTrueNAS SCALE上にユーザーのない人からのアクセス(ゲストアクセス)を受け付けるかどうか、という設定項目で、
以降出てくる項目で「誰にでも」という設定をする際に、
「この TrueNAS SCALE 上のユーザー全員」
から
「本当の意味で誰にでも」
にするオプションです。
目的に合わせて設定してください。

なお、この設定をした TrueNAS SCALE に Windows パソコンからアクセスしようとしたときに
「組織のセキュリティポリシーによって非認証のゲストアクセスがブロックされているためこの共有フォルダーにアクセスできません。これらのポリシーは、ネットワーク上の安全でないデバイスから PC を保護するのに役立ちます。」
という謎のエラーでアクセスできないことがあります。
もちろん、「誰でもアクセスできる」設定がセキュリティ的によろしくないので、そういう場所に無闇にアクセスできないようにする、というのはわかるのですが、じゃあどうするのかがわかりにくすぎる。

この場合、
基本的には、グループポリシーエディタで設定変更をするのが良いと思います。
[Win]+[R]
gpedit.msc [Enter]
でグループポリシーエディタを起動し、
[コンピューターの構成]→[管理用テンプレート]→[ネットワーク]→[Lanman ワークステーション]とたどり、
[安全でないゲストログオンを有効にする]をダブルクリック
●有効 を選びます。
(自分の経験では再起動必要ないのですが、大抵の文献では再起動必須と書かれています)

いつも参照してないけど、今回あらためて検索して見つけた記事。
「組織のセキュリティポリシーによって非認証のゲストアクセスがブロックされているためこの共有フォルダーにアクセスできません」または「エラーを特定できません」と表示される | アイ・オー・データ機器 I-O DATA

あとは、 TrueNAS SCALE 上に設定されているユーザーアカウントと同一のアカウント名「User」とかで、パスワードが違う、などという場合もうまくアクセスできません。
その場合は、事前に資格情報マネージャーなどで TrueNAS SCALE にアクセスする用のユーザー名とアカウントを設定するのがいいでしょう。
本筋的には、新しいパソコンを使い始めるときに、User とかで起動するパソコンの場合は、新しいアカウントを作成(名前の変更ではない)してそれを使うのがいいと思います。

scale_acl_00d.png

あとの項目は今回は割愛。



scale_acl_01.png

アクセス権の設定は、
Dataset の盾型のアイコン Edit Filesystem ACL から。


■ アクセス制限なし(誰でも読み書き)


ネットワーク内に自分以外のユーザーがいない、とか、小さなグループのネットワーク内の共有で、いちいちユーザー設定(アクセス権)なんて必要ない、という場合に利用するかと思います。

scale_acl_02.png

Use Preset
をクリック。

scale_acl_03.png

NFS4_OPEN
を選びます。

scale_acl_04.png

owner@
group@
が Full Control
everyone
が Modify
になります。

scale_acl_05.png

あまり変わりませんが後の説明のために、
ここは、
Owner: と Owner Group:
を自分ユーザーと同時に作成した自分グループにして
■ Apply Owner と ■ Apply Group
をチェックして、root から自分ユーザーに変更しておきます。
Save Access Control List をクリックして保存。

自分以外の人にもアクセスできるようにする場合は
先ほどの、
Allow Guest Access
を有効にしておくといいでしょう。

こうすると、TrueNAS上に該当するユーザーがいなくてもアクセスが可能になります。
ただし、新しめのWindowsだと
「組織のセキュリティポリシーによって非認証のゲストアクセスがブロックされているためこの共有フォルダーにアクセスできません」
とか言われて、セキュリティーポリシーの変更が必要かもしれません。

■ TrueNASのユーザーとグループでアクセス制限

TrueNAS は Account のところでユーザーを作成したり、グループを作成したりできます。 ユーザーを作成する際に自動的にユーザー名と同じグループを作成したり、任意に作成したりしたグループにメンバーを追加したりしてアクセス権を制御します。

● 自分のみ読み書き、他には非公開

(自分専用)

scale_acl_06.png

Use Preset で NFS4_RESTRICTED を選択します。

scale_acl_07.png

User に自分、
Geoup に自分グループを指定してそれぞれApplyにチェックを入れてSave Access Control List。

これで この共有フォルダにアクセスできるのは自分と、自分グループのメンバーのみとなり、自分グループに自分以外を追加しなければ、家族や同僚から覗かれなくなります。


● 自分と、指定したユーザーのみ読み書き、他には非公開


(クローズドなメンバー間)

上記の設定で、
設定した自分グループにメンバーを追加します。

いくつかやり方はあるけど、
たとえば、


scale_acl_08.png

Credencials > Local Groups

scale_acl_09.png

Groups のリストの先ほどのDatasetに設定しているグループの右端のVをクリックして
Members

scale_acl_10.png

追加したいメンバーを左側から選んで→で追加、
右側から選んで←で削除でコントロールします。


● 自分のみ読み書き、他には読み取り専用


(自分が管理者で、他の利用者に提供する。他の利用者はユーザー登録不要。ドライバ置き場など)

NFS4_OPEN で

scale_acl_11.png

everyone@ を Read に変更。

Allow Guest Access も設定する。


● 自分と、指定したユーザーのみ読み書き、他のユーザーには読み取り専用


(自分を含む特定のメンバーで管理して…)

上の設定で、

scale_acl_12.png

everyone@ をクリックして
Who
でGroupを選択して、
Group
で読み取り専用を提供する2つめのグループを指定して
Permissions
をRead
に設定する。
(ユーザーを個別に設定することもできるけど、ちょっと規模が大きくなるとやりきれなくなるので、グループを設定してグループに追加する習慣にしたほうがいいと思います)

everyone@ なしで
Allow Guest Access はチェックしないとすれば、
2つのグループで読み書きと読み取り専用が制御できる。




という感じで、とりあえずありそうなパターンを挙げてみましたが、これ以上凝ったことをしたい人は各自で研究するなりしてください。

プリセットだけでなく、
+Add Item
から認定に項目を追加できるので、好きに設定できます。


TrueNAS SCALE上に作成したユーザーと、Windows で使用しているユーザーアカウントとが同一で、パスワードとが一致していると、共有フォルダにアクセスするときにいちいち聞かれないので便利です。

「TrueNASと同一のユーザー名でパスワードの違うアカウント」があると一筋縄ではいかなくなります。(どうしてそんな運用がしたいのかはわかりませんが、メーカー製のプレインストールPCとかを漫然と初期状態のまま使ってると危ないかも)そのような場合は、TrueNAS側の同一のユーザー名をあえて削除して、明確に違うユーザー名を使うようにするか(そうすれば接続時にネットワーク資格情報を訊かれます)、Windows 側で、ユーザー名を変えて作り直す(ユーザー名の変更ではネットワークアクセスしたりするときの資格情報が変わるわけではない)か、Windows側で、資格情報マネージャーを使って、Windows資格情報として、当該のTrueNASへ作成されているユーザーとパスワードを指定する方法でしょうか。資格情報を登録したらパソコンを再起動してから試してみてください。

どうしても再起動せずに反映させたい場合は、

net use * /DELETE

を実行することで、キャッシュされていたアクセス権がリセットされます。
(それでもうまくいかない場合はなにはともあれ Windows を再起動)

コメントは無効になっていますので、何かありましたらフォームかTwitter(X)で。

About

2024年08月27日 20:23に投稿されたエントリーのページです。

ひとつ前の投稿は「TrueCommand を Docker で実行する」です。

次の投稿は「TrueNAS SCALE のハードウェアガイド」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35