RSS Feed

Windows 7/Vista, Samba, pliki offline i problemy z synchronizacją

Marzec 15, 2012 by 0verlord

Problem da się to opanować stosunkowo prosto – jak już się zrozumie OCB i nie namiesza jakoś szczególnie mocno przy instalacji.

Windows (klient) i Samba (serwer) wymagają włączenia oplocków, a robi się to tak:

[global]
oplocks = yes
level2 oplocks = yes
kernel oplocks = no
create mask = 777
map archive = yes
map system = yes
map hidden = yes

Potem do rejestru Windowsa należy dodać wpisy takie:

HKLM\Software\Microsoft\Windows\CurrentVersion\NetCache\RoundUpWriteTimeOnSync = 1
HKLM\SYSTEM\CurrentControlSet\services\mrxsmb\OplocksDisabled = 0
HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters\EnableOplocks = 1
HKLM\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters\EnableOplocks = 1

Zrestartować Sambę, zrestartować Windowsa, włączyć pliki offline i synchronizować, synchronizować. Natomiast może się pojawić kilka problemów.
Trzeba pamiętać, że wpisy w sekcji [global] mogą być nadpisane w samej definicji udziału – więc jeżeli w globalu damy create mask = 777, a w definicji udziału zapodzieje nam się np. create mask = 0666 – wtedy synchronizacja będzie nam się sypała z dziwnymi problemami, dotyczącymi praw dostępu, zablokowanych plików, naruszeniem zasad współużytkowania plików itp. W krótkim czasie pojawią się wszystkie cztery warianty komunikatów o braku możliwości zapisania do danej lokalizacji. Do tego centrum synchronizacji będzie rzucało informacjami o konfliktach, których nie ma i o tym, że np. nie da się usunąć z lokalizacji pliku, który przed sekundą tam został przez naszego worda dokładnie tam wrzucony. Nie da się także usunąć plików tymczasowych.

Ale najgłupszym komunikatem i zachowaniem się Office’a jakie widziałem przy okazji tego problemu, to po stworzeniu pliku w katalogu zaznaczonym do offlineowania, brak możliwości zapisania do tegoż właśnie pliku.
Czyli tworzymy plik, coś w nim piszemy, ctrl+s i info o brak uprawnień do zapisu plików. Ciekawe, że taki problem pojawia się tylko w przypadku Visty/7. XP nie reaguje na permissiony z samby, tylko patrzy, czy może zapisać do udziału, i zapisuje. Vista/7 już patrzą do środka i stosują się do permissionów – w a przypadku create mask = 666 i synchronizacji, uprawnienia do nowo stworzonych plików znikają. Zupełnie. Nie ma żadnych wpisów w zabezpieczeniach. Są 3 wpisy: root (Unix/root), który nie może nic. Grupa users (Unix/users), bo w konfigu mamy force group = users, ale i ta grupa nic nie może, a na koniec kuriozalny user System, który (tak, właśnie tak) także nic nie może.

Przy okazji poznałem plugin audit do samby. Konfiguruje się go tak:

[global]
vfs objects = full_audit
full_audit:failure = none
full_audit:success = mkdir rename unlink rmdir open pwrite
full_audit:prefix = %u|%I|%m|%S

i działa tak:

Mar 14 15:37:34 asd smbd[11973]: user|192.168.169.170|komputer|Nazwasharea|open|ok|r|Katalog
Mar 14 15:37:34 asd smbd[11973]: user|192.168.169.170|komputer|Nazwasharea|open|ok|r|Katalog\plik.doc

Szybkie wyjaśnienie, pokazuje, że user windowsowy z adresu IP i z komputer wszedł do katalogu Katalog (UNC tutaj to \\Nazwasharea\Katalog), udało mu się to („ok”) i odczytał zawartość („r”). A potem to odczytał plik.doc. Można by tego modułu użyć np. do logowania tego, co się dzieje na udziale. Widać jak na dłoni, kto kasował, kto zapisywał, kto czytał itp. Pełny audyt. Widać także, kto gdzie chodził i jakie pliki oglądał. Pełny zamordyzm {-:

Jeszcze do co buga, to trafiłem go po długich bojach i z sumie zupełnie przez przypadek. Bo skoro nie można zapisać, to znaczy, że jest problem z uprawnieniami. XP jak już pisałem, nie miał tego problemu, co dodatkowo komplikowało sytuację. Inny komputer z Vistą i bez włączonej synchronizacji także zupełnie nie doświadczał problemu. Masakra… Reinstall kompa na Win 7 był 2 tygodnie wcześniej, więc to na pewno nie było to. Karuzela wrażeń po prostu. Tylko klient coraz bardziej wnerwiony, bo Centrum Synchronizacji nie synchronizuje, ctrl+s nie zapisuje, a szalony admin zajął komputer na pół dnia i nie chce oddać.

Podsumowując, Windows 7 i pliki offline nie są w sumie takie straszne. Kluczowe są uprawnienia, ustawiane parametrami create mask. Obowiązkowo ma być na całym sharze sieciowym 777 – czyli pliki mają mieć chmod 766 albo -rxw-rw-rw-. Inaczej losowość komunikatów zaprowadzi nas w mroczne zakątki internetu i problemów z Sambą i okolicami.


Brak komentarzy »

No comments yet.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

+ 26 = trzydzieści sześć