Samba i 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
:
czy jest ustawiona opcja uwierzytelniania poprzez użytkowników a nie udziały, tzn:
security = user
edit: powinno działać również jakosecurity = share
, ale polecam ten tryb tylko w przypadku chęci udostępniania udziału publicznego z dostępem dla wszystkichczy jest ustawiona opcja dotycząca szyfrowania haseł:
encrypt passwords = true
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 )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.
z poziomu powłoki systemowej ( jako
root
lub przez poleceniasu/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 )drugim krokiem jest aktywacja użytkownika w Sambie poprzez polecenie:
smbpasswd -e nazwa_użytkownika
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
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.