Samba でディレクトリを完全に非表示にするが、その子孫はシンボリックリンク経由でアクセス可能にする

Samba でディレクトリを完全に非表示にするが、その子孫はシンボリックリンク経由でアクセス可能にする

Samba がシンボリック リンクとワイド リンクを処理する方法 (「共有ルート内」または「共有ルート外」のみを区別できます) のため、共有ルートに「実際の」ディレクトリへの固定シンボリック リンクを作成し、次のように、ユーザーがネットワーク共有を参照するときに「実際の」ディレクトリが直接表示されないようにしたいと考えています。

これは可能ですか?

実際の構造 (FreeBSD ファイル サーバー):

share_root
   --- data1
          --- data3
          --- data4
          --- data5
          --- data6
   --- data2
          --- data7
          --- data8
          --- data9
   --- d4 (=symlink to data4)
   --- d6 (=symlink to data6)
   --- d9 (=symlink to data9)

ユーザーに表示される内容 (Windows クライアント):

share_root
   --- d4 (and all data4's subdirs)
   --- d6 (and all data6's subdirs)
   --- d9 (and all data9's subdirs)

   (note: actual access to any dir is controlled by ACLs on data1/data2
    and their subdirs, so this just cleans up the tree seen by a user
    when they browse the share; it doesn't create any security)

本質的に、「実際の」ディレクトリ data1/data2 には、ユーザーがアクセスできるディレクトリとアクセスできないディレクトリが混在しており、そのアクセスは ACL によって強制されます。

しかし、ユーザーが共有にアクセスするときには、そもそもこれらのディレクトリが表示されないようにしたいのです。

「通常の」隠しファイルは Windows エクスプローラーに表示されるため、「ファイルの非表示」やドットファイルを使用してこれを行うことはできません。 役立つ場合は、拒否ファイル、アクセス制御列挙、ACL 読み取り/トラバースなどの他の方法を使用することもできます。 ただし、data1/data2 がユーザーに直接表示されないようにしたいだけです。トラバースを強制終了したくはありません。シンボリックリンク d4/d6/d9 経由data1/data2 のサブディレクトリに。

アクセス制御列挙、smb.conf、ACL の組み合わせを使用してこれを実現できますか? できない場合、解決策に最も近づく方法は何ですか?

答え1

あなたの要求を完全に理解しているかどうかはわかりませんが、nullfsマウントを使用するのが最初に思い浮かぶ戦術です。

物理的な実際の構造はそのままにしておきます。physical_rootこの例のために呼び出します。

用に新しい空のディレクトリを作成しshare_root、smb4.conf で Samba をそのディレクトリにポイントします。

の下にshare_root、Samba クライアントに公開するすべてのディレクトリのマウントポイントを作成します。

for DIR in d4 d6 d9; do
    mkdir /share_root/$DIR
done

次に、実際の物理ディレクトリを偽のshare_rootスペースに null マウントします。

mount_nullfs /physical_root/data1/data4 /share_root/d4
mount_nullfs /physical_root/data1/data6 /share_root/d6
mount_nullfs /physical_root/data2/data9 /share_root/d9

これらのマウントは、おそらく 'late' オプションを使用して /etc/fstab に追加できます。

/physical_root/data1/data4  /share_root/d4  nullfs  rw,late  0  0
...etc...

関連情報