Linux

Współdzielenie plików w systemie Linux

Ostatnia aktualizacja: 14 września 2023, 21:30

Komputery w sieci :
   1. Współdzielenie plików w sieci lokalnej za pomocą serwera Samba
   2. Konfiguracja drukarki w sieci lokalnej za pośrednictwem serwera Samba
   3. Zdalny pulpit

 

Współdzielenie plików w systemie Linux za pomocą serwera Samba

 

Samba to serwer plików i drukarek współpracujący z platformą Windows, przeznaczony dla platformy Linux/Unix. Dzięki niemu możemy korzystać i pracować na tych samych plikach, niezależnie od w/w platform, na kilku komputerach.

Aby było to możliwe, trzeba uruchomić serwer Samba w dystrybucji systemu Linux.
Do celów tej publikacji, jako serwera, użyłem dystrybucji Debian GNU/Linux w wersji stabilnej oraz testowej.
Po publikacji jednego z naszych forumowiczów, postanowiłem porównać działanie serwera na obydwu wersjach Debiana. Żadnych różnic nie zauważyłem, w obydwu przypadkach Samba działa prawidłowo.
Wyznacznikiem tego działania jest prawidłowa jego konfiguracja.

Jako systemów klienckich użyłem Debiana z gałęzi testowej (Sparky LXDE i Xfce) oraz OpenMandriva w trybie Live. Stosując kombinację wszystkich wymienionych tutaj dystrybucji, chciałem mieć pewność, że wszystko działa jak należy. Od początku działania Linuxiarzy przyjąłem sobie wyznacznik, iż nie opublikuję żadnego poradnika/rozwiązania, którego sam nie przetestuję.

A więc do dzieła.
Konfiguracja tutaj przedstawiona jest najprostsza z możliwych, tak aby nie tworzyć dodatkowych problemów.
Najprostsza oznacza jednak pełny dostęp do zasobów (odczyt, zapis, usuwanie) przez użytkownika z uwierzytelnieniem.
Wszystkie czynności konfiguracyjne trzeba wykonać jako administrator systemu.

W pierwszej kolejności zainstaluj pakiet 'samba’:
apt-get update
apt-get install samba

Utwórz nowego użytkownika Samby, np. 'user2′:
useradd user2
Utwórz hasło dla użytkownika:
smbpasswd -a user2
Teraz utwórz folder, który będziesz współdzielił. Mój folder umiejscowiłem w katalogu domowym, poleceniem:
 
mkdir /home/moje
Trzeba też zmienić właściciela dla nowego folderu i prawa zapisu:

chown user2 /home/moje
chmod 777 /home/moje

Kolejnym krokiem jest konfiguracja Samby.
Utwórz kopię istniejącego pliku konfiguracyjnego:

mv /etc/samba/smb.conf /etc/samba/smb-old.conf
Utwórz nowy plik konfiguracyjny:

nano /etc/samba/smb.conf
Wklej do niego nową (przykładową) konfigurację:

[global]
 
workgroup = dom1
netbios name = serwerdom
serwer string = %h server (Samba %v)
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
 
[data]
 
path = /home/moje
browseable = yes
writeable = yes
valid users = user2

Wpisz własne nazwy dla:
workgroup – nazwa grupy
netbios name – netbiosowa nazwa serwera Samby
path – pełna ścieżka Twojego współdzielonego katalogu
valid users – nawą użytkownika Samby, którego utworzyłeś na początku

Dobrym sposobem na zwiększenie bezpieczeństwa jest przyznanie dostępu do współdzielonej zawartości określonym komputerom. Można to uzyskać dopisując adres IP maszyny (lub kilku) do pliku konfiguracyjnego, w sekcji 'global’:
host allow = 192.2.3.4 192.2.3.5 192.2.3.6
gdzie: 192.2.3.4 (i pozostałe) zmień na adresy IP swoich maszyn.

Możesz sprawdzić poprawność swojego pliku konfiguracyjnego, poleceniem:
testparm
Teraz zrestartuj Sambę, aby zostały wczytane nowe ustawienia:
/etc/init.d/samba restart
Samba jest gotowa do użycia, możesz wgrać swoje pliki i foldery do katalogu współdzielenia.

 
Jeśli używasz własnych ustawień zapory ogniowej, możliwe że musisz zmienić jej ustawienia, aby połączenia z innego komputera były akceptowane. Niniejszy wpis oparłem na SparkyLinux, więc do tego celu mogę użyć preinstalowanej w nim graficznej nakładki na zaporę ogniową Gufw.
W opcji Dodaj regułę wybierz Service-> Samba i kliknij Dodaj.

Gufw

Następnym krokiem jest sprawdzenie poprawności działania Samby na maszynie klienckiej.
Do tego celu służy klient Samby – sprawdź czy posiadasz/zainstaluj pakiet „smbclient”.
Możesz nawiązać połączenie z serwerem Samba, korzystając z konsoli tekstowej.
Operację tę wykonaj jako zwykły użytkownik:
smbclient -L //serwerdom -U user2
Enter user2's password:

gdzie:
serwerdom – zmień na 'netbios name’, którą użyłeś podczas konfiguracji
user2 – zmień na nazwę użytkownika Samba, którą wybrałeś podczas konfiguracji
Polecenie to wymaga podania hasła użytkownika Samby, które utworzyłeś podczas konfiguracji.
Pierwsze połączenie zostało odrzucone z powodu braku reguły w zaporze ogniowej.
Po dodaniu reguły, połączenie zostało zaakceptowane.

smbclient

Drugim sposobem, zarazem dużo prostszym, jest użycie menadżera plików dla Twojego środowiska graficznego.
W moim przypadku jest to menadżer plików Xfce – Thunar.
Po wybraniu zakładki 'Przeglądanie sieci’ -> 'Sieć Windows’ otwórz folder swojej grupy roboczej, tutaj: 'dom1′,
a następnie podfolder, tutaj 'data’.

dom1

data

Teraz podaj dane dostępowe do serwera Samby:
– Nazwa użytkownika – nazwa użytkownika Samby, którą użyłeś podczas konfiguracji
– Domena – nazwa 'workgroup’
– Hasło – hasło użytkownika Samby

serwerdom

zasoby współdzielone

Dostęp został przyznany, można tworzyć nowe pliki i foldery, edytować lub usuwać istniejące.

Tak jak wspominałem na początku, wykonałem również test z drugą dystrybucją w roli systemu klienta.
W tym przypadku była to OpenMandriva w trybie Live, w której także uzyskałem dostęp do zasobów współdzielonych za pomocą programu Konqueror.

Konqueror

 
Podsumowanie:
Konfiguracja serwera Samba nie powinna nikomu przysporzyć większych problemów.
W obydwu przetestowanych opcjach, tj. w Debianie stabilnym i testowym, serwer Samba działa prawidłowo.
Przedstawiona w niniejszym wpisie konfiguracja jest, jak zaznaczyłem na początku, najprostsza z możliwych.
Daje jednak pełny dostęp do współdzielonych zasobów.

Współdzielenie drukarek za pośrednictwem serwera Samba postanowiłem opisać w osobnym tutorialu.
Muszę najpierw odkurzyć swoją starą drukarkę i sprawdzić poprawność użytej konfiguracji.

Więcej przydatnych opcji konfiguracyjnych znajdziesz, wydając polecenie:

man samba

 

Click to rate this post!
[Total: 1 Average: 5]

5 komentarzy do “Współdzielenie plików w systemie Linux

  • Dziwne nie działa mi to polecenie bo samba nie zrobiła tam żadnego katalogu:

    /etc/init.d/samba restart

    Odpowiedz
  • W przykładowym pliku kofiguracyjnym w pozycji [data] wkradły się dwa małe błędy (literówki). Napisane jest: „vaild user” a powinno być „valid users”.

    Odpowiedz
  • Nie musimy, ten art jest o Sambie. Niektórzy wciąż używają dwóch systemów. NFS również idzie na warsztat w niedługim czasie 🙂

    Odpowiedz

Skomentuj Piotr Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna jest chroniona przez reCAPTCHA i Google Politykę Prywatności oraz obowiązują Warunki Korzystania z Usługi.