W ustawieniach udostępniania w smb.conf
musisz określić nazwy użytkowników i / lub grup, które mogą zapisywać w udziale, używającwrite list = ...
linii.
Przykład:
[myshare]
...
write list = my_linux_username
Następnie musisz użyć smbpasswd
polecenia, aby ustawić hasło do uwierzytelnienia my_linux_username
dla Samby:
sudo smbpasswd -a my_linux_username
Ten krok jest konieczny, ponieważ standardowe hasła systemowe w /etc/shadow
są zaszyfrowane algorytmami niezgodnymi z algorytmami skrótu haseł używanymi w protokole SMB. Gdy klient wysyła pakiet uwierzytelniający SMB, zawiera on zaszyfrowane hasło. Można go porównać tylko do innego skrótu hasła, który używa tego samego algorytmu.
(Bardzo, bardzo stare instrukcje z poprzedniego tysiąclecia mogą zalecać wyłączenie szyfrowania haseł w Sambie i użycie pewnych haków rejestru, aby umożliwić systemowi Windows wysyłanie niezaszyfrowanych haseł do sieci. Ta rada jest nieaktualna : te hacki rejestru mogą nie działać w obecnych wersjach Windows i pozwól każdemu, kto może monitorować ruch sieciowy, na trywialne przechwytywanie hasła).
Jest jeszcze jedna rzecz, którą możesz zrobić po stronie klienta. Gdy system kliencki Windows zostanie przyłączony do domeny Active Directory i zalogujesz się na konto AD, automatycznie poprzedza wszystkie niekwalifikowane nazwy użytkownika nazwą domeny AD użytkownika, tzn. Będziesz uwierzytelniać się AD_DOMAIN\your_username
nie tylko your_username
.
Jeśli jesteś zalogowany za pomocą konta lokalnego (lub twój system klienta nie jest przyłączony do domeny AD), Windows może automatycznie poprzedzić nazwę użytkownika nazwą hosta klienta chyba że podasz inną nazwę domeny.
Aby pomyślnie zalogować się do autonomicznego serwera Samba z autonomicznego klienta Windows, może być konieczne podanie nazwy użytkownika jako SAMBA_SERVER_HOSTNAME\your_username
.
W przeciwnym razie Samba zobaczy nazwę użytkownika jako WINDOWS_CLIENT_HOSTNAME\your_username
, stwierdzi, że nie ma możliwości zweryfikowania użytkowników należących do nazwanej domeny WINDOWS_CLIENT_HOSTNAME
, i odrzuci login.
(Nowsze wersje Samby mogą mieć wbudowane sprawdzenie tej konkretnej sytuacji i mimo to mogą umożliwiać ci dostęp. Ale w ten sposób w zasadzie działa uwierzytelnianie SMB „pod maską” i jeśli musisz poradzić sobie ze starszymi wersjami Samby , może się przydać).
force user = defaultUser
wykonało dla mnie pracę.