Ubuntu + najnowsza wersja samby, dowiązania symboliczne nie działają już na współużytkowanym systemie Windows

14

Właśnie dostałem apt-getted (apt-got?) Najnowsze oprogramowanie dla mojego systemu Linux Ubuntu 9.10 i zauważyłem, że samba była zawarta w aktualizacji.

Po instalacji dowiązania symboliczne w moim katalogu domowym przestają działać po zamontowaniu jako dysk w moim systemie linux. Pracowali dosłownie kilka sekund przed aktualizacją. Wszystkie moje normalne katalogi działają dobrze. Przeglądanie listy katalogów w wierszu poleceń, wszystkich plików, katalogów i linki mają dokładnie takie same uprawnienia, ale to błąd, który otrzymuję:

Location is not available
L:\LinkDir is not accessible.
Access is denied.

Spojrzałem na fora i zobaczyłem tę opcję dla smb.conf

follow symlinks = yes
wide symlinks = yes
unix extensions = no

Wkładam je, ale nie mają żadnego skutku. Czy ktoś miał ten problem jeszcze?

Roy Rico
źródło

Odpowiedzi:

19

Niedawny problem z zabezpieczeniami w Sambie ( 5 lutego 2010 r ), deklarowany exploit zero-day, który wykorzystywał niezabezpieczoną konfigurację domyślną. Według an Post na forach Ubuntu na ten temat „szerokie linki” teraz opcja domyślna Nie .

Najwyraźniej nazwa opcji została zmieniona od tamtych czasów wcześniejsze instrukcje Znalazłeś.

Dodawanie tego do światowy sekcja twojego smb.conf plik powinien rozwiązać problem:

follow symlinks = yes
wide links = yes
unix extensions = no

Po zapisaniu smb.conf , pamiętaj, aby ponownie uruchomić Sambę:

sudo /etc/init.d/samba restart
quack quixote
źródło
1
Myślę, że zalecana konfiguracja to umieścić follow symlinks i wide links w sekcji akcji (zamiast globalnej) ze względów bezpieczeństwa. The unix extensions dyrektywa powinna przejść do sekcji globalnej, jak wskazuje użytkownik36732 poniżej.
Matthew
dla mnie to nie zadziałało; serwer samba na raspberrypi ubuntu: cifs mount na arch linux.
neckTwi
2

To też mi pomogło, chociaż nie sądziłem, że tak będzie. Mam dwie akcje Samby na mu Ubuntu. W obu udziałach używam dowiązań symbolicznych, ale w jednej przeróbce (współdzielonej) dowiązania symboliczne działały, ale w innym zniekształceniu (także współdzielonym) nie było.

Nie miałem problemów z podążaniem za linkami na Linuksie, ale na Win nie działa.

Mógłbym nawet użyć dwóch okien puTTy obok siebie, jednego w katalogu / data i jednego w katalogu / data2 i wydać to samo polecenie: ln -s / data3 / Mydata.

Katalog Mydata pojawiłby się w obu moich zmapowanych dyskach w polu Win, ale w jednym przypadku zadziałałby, ale w drugim otrzymałem błąd „Odmowa dostępu”.

„Unix extensions = no” to sztuczka, ale nie wiem dlaczego ...

Exxoff
źródło
0

Miałem ten sam problem, ale dla mnie umieszczenie „unix extensions = no” w sekcji [global] w smb.conf rozwiązało problem. Ważne jest, aby umieścić go w polu rozszerzenia rozszerzenia unix w sekcji globalnej (obowiązuje dla wszystkich udziałów), ponieważ jest on analizowany, zanim Samba dowie się, z którym udziałem łączy się użytkownik. Opcja Łącza szerokie może przejść do udziału, do którego ma zastosowanie.

Uwaga dla tych, którzy zostali ugryzieni przez to zachowanie i chcą uniknąć podobnych zdarzeń w przyszłości: zespół samby nie czyta śledzenia błędów dystrybucji, ale ma własną listę:

[email protected]

Zespół samby żyje pod wrażeniem, że ten błąd dotyczy tylko niewielkiej liczby osób i można się przekonać, że jest inaczej, jeśli więcej osób usłyszy głos. Więc jeśli ci zależy, upuść notatkę na [email protected]

Dzięki,

Alain

user36732
źródło
0

NB: już opublikowałem to, aby odpowiedzieć inne pytanie , ale gdy publikuję tylko link, moja (bardzo krótka!) odpowiedź została przekonwertowana na komentarz do tego początkowego pytania (patrz wyżej) i została nieznacznie niewidoczna. Tak więc, dla widoczności, oto pełna odpowiedź:

Aby umożliwić klientom Samby śledzenie dowiązań symbolicznych poza wspólną ścieżką, wszystko, czego potrzebujesz w konfiguracji Samby to:

[global]
allow insecure wide links = yes
unix extensions = no

[myShare]
wide links = yes

(oprócz samych definicji udziałów Samby, oczywiście). Jest to teoretycznie wystarczające dla klientów * nix.

NB: Dyrektywa „follow symlinks” nie jest konieczna, ponieważ domyślnie przyjmuje wartość „yes”

Jeśli chodzi o klientów Windows, nadal brakuje jednego ustawienia, które pozwala im na śledzenie takich łączy. Aby to zrobić:

  1. otwórz powłokę systemu Windows z uprawnieniami administratora
  2. biegać :

    fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
    
  3. zrestartuj, aby przeładować ustawienia

Uwaga: ten sam rezultat można uzyskać, edytując rejestr systemu Windows. Zobacz linki poniżej

źródła:

Httqm
źródło