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.
Leave a Reply