[2] SAMBA – Konfiguracja
28 listopada 2023Ustawienia głobalne
Konfigurację Samby rozpoczynamy od stworzenia pliku [smb4.conf] w katalogu [/usr/local/etc/].
root@vfbsd01:~ # mcedit /usr/local/etc/smb4.conf # stwórz nowy # ustawienia globalne [global] # nazwa grupy roboczej workgroup = ZICHERLAB # Nazwa serwera Samba server string = Samba Server at FreeBSD13 # rola serwera (member server, active directory domain controller) server role = standalone server # adresy IP stacji lub adresy sieci, z których można połączyć się z serwerem Samba # jeśli chcesz zezwolić na połączenia wszystkim wpisz 0.0.0.0 # adresy rozdzielamy spacjami, przecinkami, tabulacjami hosts allow = 192.168.100. 127. # dodaj jeśli chcesz uzyskać dostęp przez starsze urządzenia, routery itp. server min protocol = NT1 client min protocol = NT1 log file = /var/log/samba/log.%m max log size = 50
Konfigurowanie udziałów
Użyte nazwy udziałów i katalogów będą takie same przy opisie konfigurowania uprawnień udziałów w podrozdziale: Uprawnienia udziałów.
Udział publiczny
Poniższy przykład definiuje udział, który umożliwia dowolnemu użytkownikowi przeprowadzić odczyt, zapis, tworzenie i usuwanie plików/katalogow. Jednym słowem mówiąc zawartość tego udostępnionego udziału jest w pełni dostępna. Jedynym ograniczeniem są/mogą być ograniczenia z deklaracji [host allow] w sekcji [global].
root@vfbsd01:~ # mcedit /usr/local/etc/smb4.conf # dodaj na końcu [publiczny] comment = Udzial publiczny path = /usr/home/samba/publiczny public = yes read only = no
Udział prywatny
Poniższy przykład pokazuje udział, do którego dostęp maja tylko użytkownicy [adam] i [bogdan]. Uprawnienia do tworzonych przez nich plików pozwalają im na odczyt, zapis i wykonanie w tym udziale.
root@vfbsd01:~ # mcedit /usr/local/etc/smb4.conf # dodaj na końcu [prywatny] comment = Udzial prywatny path = /usr/home/sampa/prywatny valid users = adam bogdan public = no writable = yes
Udział tylko do odczytu
W tym przykładzie każdy może odczytać pliki i katalogi w tym udziale bez podawania hasła. Jednak tylko użytkownicy [adam] i [bogdan] – czyli Ci, którzy są wymienieni w dyrektywie [write list] mogą tworzyć, modyfikować oraz kasować pliki, ale tylko tych, którymi są właścicielami.
root@vfbsd01:~ # mcedit /usr/local/etc/smb4.conf # dodaj na końcu [tylkodoodczytu] comment = Udzial tylko do odczytu path = /usr/home/samba/tylkodoodczytu public = yes writelist = adam bogdan writable = yes
Udział katalogów domowych użytkowników
Ten typ udziału umożliwia dostęp do katalogu domowego użytkownika, który ma ścieżkę [/home/nazwa_użytkownika]. Dostęp do tego udziału ma tylko konkretny użytkownik.
root@vfbsd01:~ # mcedit /usr/local/etc/smb4.conf # dodaj na końcu [homes] comment = Katalog domowy uzytkownika browseable = no writable = yes
testparam
Po zakończeniu edytowania/modyfikowania [smb4.conf] uruchom prosty program, który przetestuje poprawność struktury pliku konfiguracyjnego Samby.
root@vfbsd01:~ # testparm Load smb config files from /usr/local/etc/smb4.conf Loaded services file OK. Weak crypto is allowed Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # naciśnij [Enter] # Global parameters [global] log file = /var/log/samba/log.%m max log size = 50 server role = standalone server server string = Samba Server at FreeBSD13 workgroup = ZICHERLAB idmap config * : backend = tdb hosts allow = 192.168.100. 127. [publiczny] comment = Udzial publiczny guest ok = Yes path = /usr/home/samba/publiczny read only = No [prywatny] comment = Udzial prywatny path = /usr/home/sampa/prywatny read only = No valid users = adam bogdan [tylkodoodczytu] comment = Udzial tylko do odczytu guest ok = Yes path = /usr/home/samba/tylkodoodczytu read only = No write list = adam bogdan [homes] browseable = No comment = Home Directories read only = No
Zamiast i/lub oraz użytkowników można dodawać grupy. Wtedy nazwę grupy należy poprzedzić znakiem [@].
Zanim jednak włączymy udostępnianie katalogów musimy je utworzyć.
Uprawnienia udziałów
Nazwy udziałów odpowiadają nazwom udziałów i katalogow użytych w poprzednim podrozdziale: Konfigurowanie udziałów.
Następnie konfigurujemy udziały, które będą udostępniane w sieci. Zalecam najpierw stworzyć udostępniony katalog, nadać mu odpowiednie prawa, później dopiero konfigurować udział w [smb4.conf]. Z mojego doświadczenia pozowli to uniknąć frustracji i kłopotów.
Udział publiczny
Jeśli został udostępniony udział publiczny, to zgodnie z jego nazwą KAŻDY powinien mieć do niego pelny dostęp. Dlatego też należy nadać takiemu katalogowi uprawnienia [777].
root@vfbsd01:~ # mkdir -p /usr/home/samba/publiczny root@vfbsd01:~ # chmod 777 /usr/home/samba/publiczny/
Udział prywatny
W tym przypadku uprawnienia do odczytu i modyfikacji powinni mieć tylko wyznaczeni użytkownicy, a co za tym idzie tylko [root] i członkowie grupy powinni posiadać do tego katalogu uprawnienia. Naszą grupą będzie grupa o nazwie [smbpriv]. Katalog powinien posiadać więc uprawnienia [770].
root@vfbsd01:~ # mkdir -p /usr/home/samba/prywatny root@vfbsd01:~ # pw groupadd smbpriv -M adam bogdan root@vfbsd01:~ # chgrp smbpriv /usr/home/samba/prywatny/ root@vfbsd01:~ # chmod 770 /usr/home/samba/prywatny/
Udział tylko do odczytu
Jeśli ustawiłeś udział pewnego katalogu na tylko do odczytu, to uprawnienia udostępnianego katalogu powinny być ustawione na [775], co zapewni użytkownikowi [root] i pewnej grupie na pełny dostęp do tego katalogu/udziału, zaś pozostałym użytkownikom pozwoli tylko na dostęp do odczytu.
Jako że, dostęp do tego katalogu z pełnymi prawami ma mieć tylko pewna grupa osób, to zostanie dla nich utworzona specjalna grupa, która w naszym przypadku nosi nazwę [smbro]. Członkami tej grupy zostaną użytkownicy [adam] i [bogdan]. Pozostali zaś użytkownicy będą mogli tylko odczytać zawartość katalogu,
root@vfbsd01:~ # mkdir -p /usr/home/samba/tylkodoodczytu root@vfbsd01:~ # pw groupadd smbro -M adam bogdan root@vfbsd01:~ # chgrp smbro /usr/home/samba/tylkodoodczytu/ root@vfbsd01:~ # chmod 775 /usr/home/samba/tylkodoodczytu/
Udział katalogów domowych lokalnych użytkowników
W tym przypadku nie ma potrzeby tworzenia katalogów, ponieważ w czasie tworzenia/dodawania lokalnego użytkownika wszystkie katalogi oraz ich uprawnienia zostały dodane przez system.
Dodawanie użytkowników
Należy utworzyć konta lokalne (na komputerze z zainstalowana usługą SMB), wszystkim użytkownikom, którzy mają mieć możliwość dostępu do udziałów Samby. Nazwy tych użytkowników powinny być tożsame z nazwami użytkownikow lokalnych.
Aby zdefiniować nowego użytkownika Samby – w naszym przypadku będzie to lokalny użytkownik [fbsduser] wykonaj:
root@vfbsd01:~ # smbpasswd -a fbsduser New SMB password: # wpisz hasło Retype new SMB password: # ponownie wpisz hasło Added user fbsduser.
Taką samą operację należy wykonać dla wszystkich użytkowników, którzy mają mieć możliwość korzystania z udostępnionych zasobów poprzez Sambę.