Sambaごとに一時的にディレクトリを共有する可能性はありますか?
Pythonを使用すると、[〜#〜] http [〜#〜]ごとに現在のディレクトリを提供できます。
python -m http.server
。
Sambaでも同じことをしたいです。
Sambaデーモンの古さ、およびビルド時に使用された構成オプションによっては、smb.confで「動的」共有を定義するオプションがあります。たとえば/ var/dynamic /を指定します。以下を参照してください、次に、一時的に共有したいディレクトリへのシンボリックリンクをディレクトリに追加するだけです。
このハックでは、sambaが共有ルートの外部のリンクをたどることができるように、ワイドリンクオプションをはいに設定する必要があります。残念ながら、数年前、Sambaの乗組員は、悪用される可能性があるため、デフォルトの構成を微調整して、ワイドシェアを防止しました。 Google for:Sambaおよび「ワイドリンク」履歴と回避策。
[dynamic]
comment = Somewhere to park dynamic shares
path = /var/dynamic
read only = Yes
inherit acls = Yes
follow symlinks = yes
wide links = yes
簡単なテストで、たとえば.
mkdir -p /var/dynamic/test
cd /var/dynamic
ln -s test a_link
ln -s /tmp/ tmp_test
LinuxのNFSでexportfs
が実行し、Solarisでshare
が実行するのと同様に、アドホック共有を作成する方法はないようです。理由はさまざまですが、技術的には、同じマシン上で 複数サーバーの実行 のページで説明されているようなことを実行し、カスタムsmb.conf
を使用して必要な処理を実行できます。
SWATを使用して動的に共有を作成および削除する オプションもあります。これを行うには、 smb.conf を変更する必要があります。add share command
およびdelete share command
個人的には、動的な共有が必要な場合は、ホームディレクトリを共有し、 buntuフォーラム や Sambaメーリングリスト などの多くの場所で議論されているsambaを介して動的なホーム共有を使用することをお勧めします。 。
/ somefolderをsomeuserの一時的な読み取り専用とすばやく共有したいとします。
システムユーザーを追加します。
useradd -r someuser
強制する必要がある場合、多くの場合、デフォルトでフォルダは他の読み取り可能です(ls -ld/somefolderで確認してください)。
chmod -R o+r /somefolder
次のようなパスワードを使用して、ユーザーをsambaに追加します。
smbpasswd -a someuser
Smb.confをすばやく編集し、下部に追加します
[someshare]
path = /somefolder
read list = someuser
終了し、保存して、最後に実行します
smbcontrol smbd reload-config
etvoila。
明らかに、完了したら「someshare」セクションを削除して、reload-configコマンドを再実行することをお勧めします。
免責事項:私はこれを完全にテストしませんでしたが、質問への答えがいかに簡単であるかに驚いていました。既存のsambaアクセス権を持つユーザーがすでにいる場合は、いくつかの手順をスキップして、smb.confの編集に直接飛び込むことができます。これはまさに私が遭遇したことです。