To jest serwer Ubuntu 10.04 64 i samba 3.4.7.
Mam wspólny katalog /home/mit/share
i inny /home/temp
, do którego linkuję:
ln -s /home/temp /home/mit/share/temp
Ale w S:/temp
systemie Windows po użyciu Internetu nie mogę otworzyć , ale w systemie Linux można uzyskać dostęp /home/mit/share/temp
zgodnie z oczekiwaniami.
Działa to, jeśli podlinkuję katalogi wewnątrz /home/mit/share/temp
, więc myślę, że samba ogranicza przeskakiwanie z linkiem na zewnątrz / powyżej katalogu współdzielonego.
EDYTOWAĆ:
Zobacz także to pytanie zatytułowane Ubuntu + najnowsza wersja samby, dowiązania symboliczne nie działają już na udziale zamontowanym w systemie Windows .
Najlepiej wydaje się umieszczenie unix extensions = no
w sekcji globalnej follow symlinks = yes
i wide links = yes
tylko w sekcji akcji, gdzie jest to naprawdę potrzebne.
unix extension
Flaga musi żyć w sekcji globalnej, a nie w poszczególnych sekcjach akcji. Ale ze względów bezpieczeństwa lepiej jest korzystać z innych opcji tylko tam, gdzie jest to potrzebne, a nie globalnie.
Odpowiedzi:
Edytuj plik smb.conf
Uwaga: Jeśli używasz nowszej wersji samby, mogą działać dla Ciebie następujące czynności:
dokumentacja
follow symlinks
iwide links
flagi: https://www.samba.org/samba/docs/using_samba/ch08.html#samba2-CHP-8-TABLE-1źródło
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
grep -o '^[^#;]*' smb.conf.bak >smb.conf
[share]
na myśli[<share_name>]
?sshfs
Pozdrowienia, próbowałem wprowadzić tę konfigurację, aby naprawić dowiązania symboliczne dla systemu Windows dla mojej instalacji, ale nie jestem pewien, czy wpłynie to na klienta Windows, w przeciwnym razie po podłączeniu do tego pola będzie podążać za dowiązaniami symbolicznymi.
źródło
Alternatywnie do innych odpowiedzi, aby utrzymać włączone rozszerzenia unix, można użyć:
źródło
[share]
na myśli[<share_name>]
?[homes]
, w której go używam. Szczegółowe informacje można znaleźć w dokumentacji .Aby umożliwić klientom Samby śledzenie dowiązań symbolicznych poza wspólną ścieżką, wszystko, czego potrzebujesz w konfiguracji Samby, to:
(oprócz samych definicji Samby, oczywiście). To - teoretycznie - wystarcza dla klientów * nix.
Uwaga: Dyrektywa „podążaj za dowiązaniami symbolicznymi” nie jest konieczna, ponieważ domyślnie ustawiona jest na „tak”
Jeśli chodzi o klientów Windows, nadal brakuje 1 ustawienia, aby umożliwić im podążanie za takimi linkami. Aby to zrobić:
biegać :
uruchom ponownie, aby ponownie załadować ustawienia
Uwaga: ten sam wynik można uzyskać, edytując rejestr systemu Windows. Zobacz linki poniżej
źródła:
źródło
Jeśli korzystasz z AppArmor, może być konieczne zajęcie się czymś więcej niż tylko plikiem konfiguracyjnym Samby.
Potrzebne są następujące dyrektywy
smb.conf
:Ale AppArmor blokuje dostęp do części systemu plików zgodnie z własną semantyką zestawu reguł. Tak więc, jeśli twoje dowiązanie symboliczne w Sambie wskazywało na lokalizację, którą AppArmor zablokowałby, Samba odmówiłaby dostępu.
W moim systemie Samba aktualizuje profile AppArmor przy uruchamianiu / zatrzymywaniu usługi, abym mógł zmienić profil AppArmor, ale ryzykuję zastąpienie go przez Sambę lub inny program. Zamiast tego postanowiłem utworzyć niedostępny udział w Sambie, odwołując się do lokalizacji zawierającej cel dowiązania symbolicznego, do którego chciałem uzyskać dostęp (nadal w
smb.conf
):źródło