これは、Ubuntuサーバー10.04 64およびsamba 3.4.7です。
共有ディレクトリ/home/mit/share
と、共有ディレクトリにリンクする別のディレクトリ/home/temp
があります。
ln -s /home/temp /home/mit/share/temp
しかし、Windowsでインターネットを使用した後はS:/temp
を開くことができませんが、Linuxでは予想どおり/home/mit/share/temp
にアクセスできます。
これは/home/mit/share/temp
内のディレクトリをリンクする場合に機能するので、sambaは共有ディレクトリの外/上のリンクでジャンプするように制限していると思います。
編集:
buntu +最新のsambaバージョン、シンボリックリンクがWindowsにマウントされた共有で機能しない というタイトルのこの質問も参照してください。
unix extensions = no
をグローバルセクションに配置し、follow symlinks = yes
とwide links = yes
を、本当に必要な共有セクションのみに配置するのが最善のようです。
unix extension
フラグは、個々の共有セクションではなく、グローバルセクションに存在する必要があります。ただし、セキュリティ上の理由から、他のオプションは必要な場合にのみ使用し、グローバルには使用しないことをお勧めします。
Smb.confを編集する
[global]
unix extensions = no
[share]
follow symlinks = yes
wide links = yes
注:新しいバージョンのsambaを使用している場合は、代わりに以下が機能する場合があります。
[global]
allow insecure wide links = yes
[share]
follow symlinks = yes
wide links = yes
follow symlinks
およびwide links
フラグに関するドキュメント: https://www.samba.org/samba/docs/using_samba/ch08.html#samba2-CHP-8-TABLE-1 =
他の回答の代わりに、unix拡張機能を有効にしておくには、以下を使用できます。
[global]
allow insecure wide links = yes
[share]
follow symlinks = yes
wide links = yes
こんにちは、これを設定に入れて、セットアップ用のウィンドウのシンボリックリンクを修正しようとしましたが、それがWindowsクライアントに影響するかどうかはわかりません。
[global]
unix extensions = no
Sambaクライアントが共有パス外のシンボリックリンクをたどれるようにするには、Samba構成で必要なのは次のとおりです。
[global]
allow insecure wide links = yes
unix extensions = no
[myShare]
wide links = yes
(もちろん、Sambaは定義自体を共有しています)。これは理論的には* nixクライアントには十分です。
注意:「symlinksに従う」ディレクティブはデフォルトで「yes」になっているため必要ありません。
Windowsクライアントについては、そのようなリンクをたどる1つの設定がまだありません。そうするには :
実行:
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
再起動して設定を再読み込み
注意:Windowsレジストリを編集しても同じ結果が得られます。以下のリンクを参照してください
出典:
AppArmorを実行している場合は、Samba構成ファイル以外にも対処する必要がある場合があります。
smb.conf
には次のディレクティブが必要です。
follow symlinks = yes
wide links = yes
unix extensions = no
# No need for "allow insecure wide links" unless you want "unix extensions = yes"
ただし、AppArmorは独自のルールセットセマンティクスに従ってファイルシステムの一部へのアクセスをブロックします。したがって、Samba内のシンボリックリンクがAppArmorがブロックする場所を指している場合、Sambaはアクセスを拒否します。
私のシステムでは、Sambaはサービスの開始/停止時にAppArmorプロファイルを更新するため、AppArmorプロファイルを変更できますが、Sambaまたは別のプログラムがそれを上書きする危険があります。代わりに、アクセスしたいシンボリックリンクターゲットが含まれている場所を参照するSambaにアクセスできない共有を作成することにしました(まだsmb.conf
にあります)。
# The following is a hack for AppArmor to allow the path
[share1 for AppArmor] # Or whichever name you choose
browseable = no
path = /home # Point to directory or parent directory of the location to access
read only = yes
guest ok = no
valid users = none