Mam ścieżkę na komputerze z systemem Linux (Debian 8), który chcę udostępnić Sambie 4 komputerom z systemem Windows (Win7 i 8 w domenie). W moim smb.conf
zrobiłem następujące:
[myshare]
path = /path/to/share
writeable = yes
browseable = yes
guest ok = yes
public = yes
Mam doskonały dostęp do odczytu z systemu Windows. Ale aby mieć dostęp do zapisu, muszę to zrobić chmod -R 777 /path/to/share
, aby móc pisać do niego z systemu Windows.
To, czego chcę, to dostęp do zapisu z systemu Windows po podaniu poświadczeń Linuksa właściciela Linuxa /path/to/share
.
Próbowałem już:
[myshare]
path = /path/to/share
writeable = yes
browseable = yes
Następnie system Windows prosi o poświadczenia, ale bez względu na to, co wprowadzam, zawsze jest to odrzucane.
Jaki jest prawidłowy sposób uzyskania dostępu do zapisu do udziałów Samby z komputera z domeną Windows bez przyznania 777?
źródło
force user = defaultUser
wykonało dla mnie pracę.smb.conf
. Dokumentacja Google, a nawet sambas, mówi, że plik powinien być,/usr/local/samba/lib
ale tak naprawdę jest/etc/samba
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:
Następnie musisz użyć
smbpasswd
polecenia, aby ustawić hasło do uwierzytelnieniamy_linux_username
dla Samby: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 tylkoyour_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 domenyWINDOWS_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ć).
źródło
Szukałem tego, ponieważ spieszyłem się i nawet nie miałem czasu na skupienie się na tworzeniu użytkowników, więc ...
Musiałem jak najszybciej wyjąć dane z maszyny debian 9 i był to najszybszy sposób, jaki wymyśliłem, jeśli chcesz uniknąć pomijania poleceń, możesz to zrobić, ale oczywiście nie jest to zalecane, chyba że jesteś w pospiesz się .
źródło