Articles

Korzystanie z Samby do udostępniania plików między Linuksem i Windows

Twoja sieć domowa może mieć kilka komputerów z systemem Windows na parterze, Mac w sypialni na piętrze, PocketPC na szafce nocnej i Linux box lub dwa w piwnicy, wszystkie połączone w sieć za pomocą ogólnego routera. Dla wszystkich urządzeń w tej znanej konfiguracji rodziny, a nawet scenariusza z tysiącami użytkowników, Samba suite jest idealnym rozwiązaniem do udostępniania plików i drukowania.

istnieje kilka wieloplatformowych rozwiązań udostępniania plików i drukowania, ale Samba i protokół SMB / CIFS mogą być najłatwiejsze do wdrożenia w domowym środowisku sieciowym. Komputery z systemem Windows i Mac są wyposażone w funkcjonalność do pracy z Sambą od razu po wyjęciu z pudełka i powinieneś zainstalować tylko jeden pakiet Samby dla maszyn z systemem Linux. GNOME i KDE oferują funkcje klienta Samby wbudowane w ich domyślne menedżery plików, odpowiednio Nautilus i Konqueror.

skupimy się na konfigurowaniu i używaniu Samby do udostępniania plików i drukowania w typowej sieci domowej z komputerami z Linuksem i Windows. Możesz wybrać jeden z kilku GUI konfiguracji Samby, ale pójdziemy staromodną trasą i skierujemy nasze edytory tekstu na smb.conf. Plik konfiguracyjny znajduje się powszechnie w /etc/samba/smb.conf lub / usr / local / samba / lib / smb.conf. Pamiętaj, że musisz być rootem, aby je edytować, lub użyć sudo.

Samba będzie działać na prawie każdym systemie Uniksopodobnym i można ją znaleźć w repozytoriach prawie każdej dystrybucji Linuksa. Zacznij od użycia menedżera pakietów twojej dystrybucji, aby upewnić się, że jest zainstalowany.

Konfiguracja Samby

Samba jest bardzo dojrzałym i złożonym pakietem, więc jej Plik konfiguracyjny może być długi i skomplikowany. Będziesz musiał zaufać, że Twoja dystrybucja dostarczyła Ci rozsądną domyślną konfigurację i skupić się na zmianie zaledwie kilku linii w smb.conf, aby upewnić się, że są one odpowiednie dla potrzeb sieci domowej. Jeśli chcesz dowiedzieć się więcej o dowolnej linii, skonsultuj się z man smb.conf.

pamiętaj, że każda linia w pliku konfiguracyjnym poprzedzona średnikiem (;) lub znakiem skrótu (#) jest komentarzem i nie zostanie rozpoznana jako aktywne ustawienie. Aby aktywować linię, Usuń średnik lub skrót. Dobrym pomysłem jest dodawanie własnych komentarzy poprzedzonych jednym z tych znaków, aby pamiętać logikę konfiguracji przy następnym załadowaniu smb.conf.

pierwszą opcją do rozważenia jest poziom bezpieczeństwa Samby. Ta linia pojawi się w sekcji SMB.conf, gdzie odbywa się cała konfiguracja Samby. Pozostałe sekcje, omówione w dalszej części tego artykułu, odnoszą się do konkretnych usług Samby (zasobów współdzielonych). Poziom bezpieczeństwa zostanie najprawdopodobniej ustawiony na wartość user I będzie wyglądał następująco:

security = user

w przypadku sieci domowej warto rozważyć ustawienie jej na share. Główną różnicą jest to, że przy ustawieniu user będziesz musiał zalogować się do serwera Samby, zanim będziesz mógł przeglądać jego zasoby. Jest to mądry środek ostrożności w niezaufanych sieciach, ale będzie niewygodne podczas korzystania z zasobów, do których chcesz, aby całe gospodarstwo domowe miało dostęp, takich jak drukarka. Po włączeniu share nadal możesz wymagać od użytkowników uwierzytelnienia się hasłem, aby uzyskać dostęp do określonych Zasobów.

pozostając w sekcji, przejdźmy do drukarek. Jeśli korzystasz ze wspólnego systemu drukowania uniksowego (CUPS) (domyślnego dla większości dystrybucji), jedyne, co musisz zrobić, aby Samba rozpoznała Twoje drukarki, to odpowiednio ustawić następujące linie:


printing = cups
printcap name = cups

ponieważ możesz konfigurować te drukarki (i być może inne zasoby) tak, aby były dostępne bez uwierzytelniania użytkownika, bardzo ważne jest, aby ograniczyć dostęp tylko do znanych i zaufanych hostów – komputerów w Twoim domu. Zapoznaj się z instrukcją routera, aby uzyskać instrukcje dotyczące przypisywania konkretnych adresów IP do każdego komputera w sieci domowej. Gdy masz listę zaufanych hostów, wprowadź je w następujących wierszach w sekcji :


hosts allow = computer1 computer2 computerN
hosts deny = ALL

chociaż określono, że hostyALL zostaną odrzucone, każdy host wymieniony w liniihosts allow nadal będzie miał dostęp. Format adresów IP przypisanych do każdego komputera przez router będzie różny. Na przykład, jeśli maszyny w Twojej sieci lokalnej otrzymają adresy w formacie 192.168.0.x, poniższe linie ograniczą dostęp Samby do lokalnych hostów:

hosts allow = 192.168.0.
hosts deny = ALL

należy pamiętać, że ostatnia cyfra adresu IP została pominięta w liniihosts allow. Określa to, że każdy adres IP w tym zakresie jest dozwolony. Aby uzyskać dodatkowe zabezpieczenie przed dostępem z zewnątrz, zajrzyj do blokowania portów Samby za pomocą zapory sieciowej.

udostępnianie katalogów i drukarek

czas wyjść poza I skonfigurować określone zasoby współdzielone. Rozpocznij od sekcji. Domyślnie w twojej dystrybucji może być skonfigurowana Ta sekcja, aby umożliwić użytkownikom dostęp do ich katalogu domowego na komputerze, na którym działa serwer Samba.

Jeśli masz ustawiony security = share, ta funkcja może nie działać zgodnie z oczekiwaniami, a użytkownicy mogą być prezentowani z katalogami domowymi bez logowania. Jeśli jesteś jedynym, który ma katalog domowy na komputerze z serwerem Samba, który jest prawdopodobnie w środowisku sieci domowej, zaleca się usunięcie lub skomentowanie (używając znaków skrótu lub średników) sekcji I dodanie użytecznych katalogów jako zasobów wspólnych osobno później.

teraz możesz rozpocząć udostępnianie określonych katalogów. Użyj tego jako szablonu dla folderu udostępnionego publicznie, dla którego nie jest konieczne uwierzytelnianie użytkowników:


path = /location/of/directory
guest ok = yes
browseable = yes
read only = no

Share Name jest dowolnym tytułem, który wybierzesz (dla klienta uzyskującego dostęp do serwera, będzie to nazwa katalogu udostępnionego). Liniaguest ok = yes określa ten udział jako publicznie dostępny. Liniabrowseable = yes sprawi, że udostępnienie będzie dostępne dla wszystkich użytkowników. Ustaw browseable = no, aby zmusić użytkowników do ręcznego wpisywania nazwy akcji, aby uzyskać do niej dostęp. Oczywiście możesz ustawić read only = yes, aby ograniczyć użytkownikom możliwość zdalnego wprowadzania zmian w katalogu.

Użyj tego jako szablonu dla prywatnych akcji, do których użytkownicy muszą wprowadzić hasło, aby uzyskać dostęp:


path = /location/of/directory
valid users = user
read only = yes
browseable = no

tutajuser to nazwa użytkownika na komputerze z serwerem Samby osoby z uprawnieniami dostępu do akcji. Użyj tych dwóch szablonów, aby dodać udziały dla wszystkich plików, do których użytkownicy mogą mieć dostęp z serwera.

Twój serwer powinien być teraz w pełni skonfigurowany. Dzięki temu, co dodałeś do domyślnych wartości dostarczonych przez Twoją dystrybucję, Twój ukończony smb.conf powinien wyglądać mniej więcej tak:

security = shareworkgroup = HOMEserver string = %h serverlog file = /var/log/samba/log.%mmax log size = 1000dns proxy = Nohosts allow = 192.168.0.hosts deny = ALLprinting = cupsprintcap name = cupspath = /var/spool/sambaprintable = Yesbrowseable = Nopath = /var/lib/samba/printerspath = /Public/Filesguest ok = yesread only = nobrowseable = yespath = /private/files/valid users = meread only = yesbrowseable = no

zanim opuścisz serwer masz jeszcze kilka spraw do załatwienia. Najpierw wprowadź wszystkich użytkowników, którzy będą uzyskiwać dostęp do serwera Samby w następującym poleceniu:

smbpasswd -a user

zostaniesz poproszony o wprowadzenie hasła do Samby dla każdego użytkownika. Możesz zmienić hasło w dowolnym momencie, logując się jako żądany użytkownik i uruchamiając smbpasswd. Teraz uruchom ponownie serwer Samby za pomocą tego polecenia:

/etc/init.d/samba restart

dostęp do udziałów Samby od klientów Windows

udaj się do komputera z systemem Windows, aby wypróbować nową konfigurację. Twój nowy serwer powinien pojawić się w Windows ’ Moje miejsca sieciowe (domyślnie poszukaj skrótu na pulpicie). Alternatywnie, otwórz menu Start i kliknij ” Uruchom…”, a następnie wprowadź:

\server

zastępującserver nazwą lub adresem IP komputera, na którym działa serwer Samba. Okno Eksploratora Windows z udziałami do przeglądania z serwera powinno się otworzyć. Jeśli udostępniłeś udostępnienie, które nie jest możliwe do przeglądania, uzyskaj do niego dostęp za pomocą tego linku:

\servershare name

łatwo jest uczynić udostępnione katalogi bardziej dostępnymi. W systemie Windows XP Kliknij prawym przyciskiem myszy udział w Eksploratorze i wybierz „Mapuj dysk sieciowy…” będziesz mógł przypisać im literę dysku, taką jak Z:, dzięki czemu można je łatwo znaleźć w moim komputerze, nawet po ponownym uruchomieniu.

w moich testach na Windows XP z poziomem bezpieczeństwa ustawionym nashare drukarki są automatycznie wykrywane i dostępne do użycia z komputera z systemem Windows. Przy ustawieniu poziomu zabezpieczeńuser konieczne było zalogowanie się do serwera w oknie Eksploratora Windows przed próbą wydruku. Korzystanie z innych wersji systemu Windows może się różnić.

dostęp do udziałów SMB/CIFS z innych maszyn Linuksowych

udziały Samby i Windows można łatwo uzyskać z domyślnych menedżerów plików zarówno Gnome, jak i KDE. Zaczniemy od dostępu do akcji z Nautilusa w Gnome. Otwórz Nautilus i przejdź do pliku – > Połącz się z serwerem.

wybierz „Windows share” z listy i wprowadź nazwę serwera lub adres IP serwera Samby. Możesz także kliknąć przycisk” Przeglądaj sieć „i zajrzeć do katalogu” sieć Windows”, aby ręcznie wyszukać serwer. Kliknij „Połącz”, a otworzy się okno Nautilus z możliwymi do przeglądania zasobami serwera Samby.

dostęp do akcji samby z Konquerorem jest równie prosty. Aby wyszukać serwer, wpisz adres URL remote: / w Konquerorze. Aby uzyskać bezpośredni dostęp, wpisz adres URL serwera bezpośrednio w tym formacie:

smb://user@server/share

zauważ, że użytkownik i udział są opcjonalnymi kryteriami.

konfiguracja drukarek za pomocą Samby jest równie łatwa w obu tych środowiskach graficznych. W Gnome przejdź do System -> Administracja -> Drukowanie. W aplikacji konfiguracyjnej drukarki wybierz opcję Drukarka-> Dodaj drukarkę. Zostaniesz poproszony o podanie hasła. W Kreatorze dodawania drukarki wybierz z listy opcję” drukarka sieciowa”, a następnie” drukarka Windows SMB”. Zostaniesz poproszony o podanie nazwy użytkownika i hasła na serwerze Samby. Zidentyfikuj swój Host i drukarkę na serwerze Samba, a następnie przejdź do następnego ekranu. Wybierz model drukarki, a następnie kliknij Zastosuj.

aby zrobić to samo w KDE, otwórz centrum konfiguracji, uruchamiając polecenie kcontrol. Przejdź do modułu drukarki i przejdź do Dodaj-> Dodaj drukarkę/klasę… w wynikowym oknie dialogowym kliknij Dalej, a następnie wybierz ” SMB shared printer (Windows).”Kliknij Dalej ponownie i skonfiguruj nazwę użytkownika i hasło „normalnego konta”, jeśli używaszuser poziom bezpieczeństwa. Kliknij Dalej innym razem, a następnie Skanuj, aby wyszukać serwer Samby.

ewentualnie wprowadź dane serwera ręcznie. Na następnym ekranie wybierz model drukarki z listy. Kliknij kilka następnych ekranów i nadaj drukarce sieciowej tytuł, aby zakończyć.

Rozwiązywanie problemów

Jeśli napotkałeś problemy z uruchomieniem którejkolwiek z tych funkcji, przejdź do listy kontrolnej rozwiązywania problemów Samby. Szybki trik zapożyczony z tego dokumentu do testowania pliku konfiguracyjnego Samby pod kątem oczywistych błędów to uruchomienie następującego polecenia:

testparm smb.conf

ponownie, dokładna ścieżka twojego smb.conf może się różnić w zależności od dystrybucji.

zbadaliśmy tutaj tylko podstawową funkcjonalność Samby, dostosowaną do sieci domowej. Bardziej ekstremalne scenariusze użycia omówiono szczegółowo w przewodniku Samba by example.