Samba i Windows 7

Posted by Peter
tags: debian linux samba windows 7

Windows 7 ma często kłopoty z połączeniem z udziałami Samby na serwerze z zainstalowanym Linux'em i nie pozwala nam się zalogować do udziału Samby ( lub np. mapować dysku sieciowego ).

Aby temu zaradzić należy ustawić dwie opcje ( jako użytkownik z uprawnieniami administratora ):

  • Panel Sterowanie \ Narzędzia administracyjne \ Zasady Zabezpieczeń Lokalnych i następnie: Zasady Lokalne -> Opcje Zabezpieczeń -> Zabezpieczenia Sieci: poziom uwierzytelniania LAN Manager i opcja: Wyślij odpowiedzi LM i NTLM
  • Panel Sterowanie \ Narzędzia administracyjne \ Zasady Zabezpieczeń Lokalnych i następnie: Zasady Lokalne -> Opcje Zabezpieczeń -> Zabezpieczenia Sieci:minimalne zabezpieczenie sesji dla klientów opartych na NTLM SSP i odznaczyć opcję: Wymagaj szyfrowania 128-bitowego
  • Panel Sterowanie \ Narzędzia administracyjne \ Zasady Zabezpieczeń Lokalnych i następnie: Zasady Lokalne -> Opcje Zabezpieczeń -> Zabezpieczenia Sieci:minimalne zabezpieczenie sesji dla serwerów opartych na NTLM SSP i odznaczyć opcję: Wymagaj szyfrowania 128-bitowego

To powinno umożliwić pełną współpracę serwera Samba z systemem Windows 7

Mapowanie dysku sieciowego odbywa się przez adres: \\nazwa_serwera\nazwa_udzialu i następnie poprzez podanie nazwy użytkownika i hasła.

Jeśli jednak nadal nie działa to sprawdź czy wszystko masz ustawione wg. tego schematu:

Przypuśćmy, że mamy taki udział zdefiniowany w Sambie:

1
2
3
4
5
6
7
8
9
10
[nazwa_udzialu]
path = /sciezka/do/udzialu
comment = komentarz
available = yes
browseable = yes
public = no
writable = yes
valid users = samba-user
write list = samba-user
read list = samba-user

Użytkownicy systemu Windows 7 będą widzieli ten udział, ale nie będą mogli się z nim połączyć pomimo podawania hasła. W takiej sytuacji należy sprawdzić kilka zmiennych w pliku smb.conf:

  1. czy jest ustawiona opcja uwierzytelniania poprzez użytkowników a nie udziały, tzn: security = user edit: powinno działać również jako security = share, ale polecam ten tryb tylko w przypadku chęci udostępniania udziału publicznego z dostępem dla wszystkich

  2. czy jest ustawiona opcja dotycząca szyfrowania haseł: encrypt passwords = true

  3. czy jest ustawiona opcja przechowywania danych o użytkownikach: passdb backend = tdbsam ( może być również opcja przechowywania tych danych w pliku /etc/samba/smbpasswd, ale jej nie polecam )

  4. oraz czy ustawiona jest opcja synchronizacji haseł Samby z hasłami systemowymi: unix password sync = yes Oczywiście ważne jest aby połączeń z serwerem Samba nie blokował ani firewall zainstalowany w tym serwerze ( np. iptables ) ani firewall w systemie Windows 7 ( wbudowany, lub oprogramowanie zewnętrzne ).

Dodawanie użytkowników do Samby jest proste, trzeba tylko pamiętać, że użytkownik Samba musi najpierw istnieć w systemie, ale jeśli ma dostęp tylko do udziałów samby to nie musi mieć swojego katalogu domowego ani dostępu do powłoki.

  1. z poziomu powłoki systemowej ( jako root lub przez polecenia su/sudo ) należy wpisać: smbpasswd -a nazwa_użytkownika , a następnie podać ( i powtórzyć ) hasło, tylko należy pamiętać, aby było ono takie samo jak hasło tego użytkownika w systemie ( serwerze, na którym znajduje się Samba )

  2. drugim krokiem jest aktywacja użytkownika w Sambie poprzez polecenie: smbpasswd -e nazwa_użytkownika

  3. przeładowanie ustawień Samby przez polecenie: /etc/init.d/samba reload lub inne polecenie służące do zarządzania usługami systemowymi, np. service samba restart

  4. usuwanie użytkowników odbywa się za pomocą polecenia: smbpasswd -x nazwa_użytkownika Można zobaczyć listę użytkowników dodanych do Samby poprzez polecenie: pdbedit -w -L lub jeśli używamy pliku /etc/samba/smbpasswd - poprzez jego edycję/podgląd.