Konfiguracja SAMBA
Poprzedni
Następny

Konfiguracja SAMBA

Możesz skonfigurować SAMBA modyfikując plik /etc/samba/smb.conf. Więcej informacji na temat poszczególnych ustawień jest dostępne w komentarzach pliku /etc/samba/smb.conf oraz na stronie instrukcji obsługi, którą można obejrzeć podając następujące polecenie w wierszu terminala:

man smb.conf

Podpowiedź

Zanim zmodyfikujesz plik konfiguracji powinieneś zrobić kopię pierwotnego pliku i chronić go przed zapisem, aby mieć domyślne opcje pod ręką jako ewentualne wskazówki.

Zrób kopię pliku /etc/samba/smb.conf:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.pierwotny

Teraz można zmodyfikować plik /etc/samba/smb.conf, aby poczynić zmiany w ustawieniach.

Serwer

Poza zestawem aplikacji współdzielenia plików i drukarek SAMBA Ubuntu zawiera także inne potężne aplikacje serwerowe zaprojektowane tak, aby udostępnić dodatkowe funkcje serwera sieciowego dla klientów Windows, podobne do funkcji dostarczanych przez faktyczne serwery Windows. Przykładowo, Ubuntu oferuje scentralizowaną obsługę zasobów sieciowych, takich jak komputery czy użytkownicy, poprzez Usługi Katalogowe i przeprowadza identyfikacje oraz uwierzytelnianie komputerów i użytkowników poprzez Usługi Uwierzytelniające.

Następne części opisują bardziej szczegółowo SAMBA i technologie wspierające, takie jak serwer Lightweight Directory Access Protocol (LDAP) oraz serwer uwierzytelniania Kerberos. Dowiesz się także o niektórych dostępnych dyrektywach konfiguracyjnych dostępnych w pliku konfiguracyjnym SAMBA, które umożliwiają integrację sieci z klientami i serwerami Windows.

Active Directory

Active Directory to własnościowa implementacja Usług Katalogowych Microsoftu i jest używana, aby dostarczyć możliwość współdzielenia informacji na temat zasobów sieciowych oraz użytkowników. Poza dostarczeniem scentralizowanego źródła tego typu informacji, Active Directory gra także rolę zcentralizowanego strażnika uwierzytelniania dla sieci. Active Directory łączy w sobie możliwości zwyczajowo spotykane w osobnych, wyspecjalizowanych systemach katalogowych, aby uprościć integrację, obsługę oraz bezpieczeństwo zasobów sieciowych. Pakiet SAMBA może być skonfigurowany tak, aby korzystał z usług Active Directory z Kontrolera Domen Windows.

LDAP

Aplikacja serwera LDAP oferuje Usługi Katalogowe dla komputerów Windows w bardzo podobny sposób do usług Microsoft Active Directory. Usługi te zawierają obsługę identyfikatorów oraz zależności komputerów i użytkowników oraz grup komputerów lub użytkowników uczestniczących w sieci, udostępniając spójne środki do opisywania, lokalizowania i obsługi tych zasobów. Wolnodostępna implementacja LDAP oferowana w systemie Ubuntu nazywa się OpenLDAP. Usługi serwera odpowiedzialne za obsługę żądań katalogowych OpenLDAP i propagację danych katalogowych z jednego serwera Ubuntu LDAP do drugiego to slapd oraz slurpd. OpenLDAP może zostać użyty w połączeniu z SAMBA, aby udostępnić usługi plików, drukarek oraz usługi katalogowe w podobny sposób jak to czyni Kontroler Domen Windows, jeśli tylko SAMBA została skompilowana z obsługą LDAP.

Kerberos

The Kerberos authentication security system is a standardized service for providing authentication to computers and users by means of a centralized server which grants encrypted authorization tickets accepted for authorization by any other computer using Kerberos. Benefits of Kerberos authentication include mutual authentication, delegated authentication, interoperability, and simplified trust management. The primary server daemons for handling the Kerberos authentication and Kerberos database administration on Ubuntu are krb5kdc and kadmin. SAMBA may use Kerberos as a mechanism for authenticating computers and users against a Windows Domain Controller. To do so, the Ubuntu system must have Kerberos installed, and the /etc/samba/smb.conf must be modified to select the the proper realm and security mode. For example, edit the /etc/samba/smb.conf file and add the values:

realm = NAZWA_DOMENY

security = ADS

do pliku i zapisz go.

Podpowiedź

Upewnij się, że NAZWA_DOMENY w powyższym przykładzie zamieniłeś na faktyczną nazwę twojej domeny Windows.

Konieczne jest ponowne uruchomienie usług SAMBA, aby zatwierdzić te zmiany. Uruchom ponownie usługi SAMBA z pomocą następującego polecenie w wierszu poleceń:

sudo /etc/init.d/samba restart

Konta Komputerów

Konta Komputerów są używane w Usługach Katalogowych do unikalnej identyfikacji systemów komputerowych wchodzących w skład sieci i są nawet traktowane w ten sam sposób co użytkownicy w kwestiach bezpieczeństwa. Konta komputerów mogą być chronione hasłem, tak jak konta użytkowników. Przykładowo, jeśli użytkownik sieciowy z kontem odpowiednim dla danej sieci spróbuje uwierzytelnić się w zasobie sieciowym z komputera, który nie posiada odpowiedniego konta komputera, to zależnie od zasad stosowanych w sieci dostęp do zasobu może zostać użytkownikowi zabroniony, jeśli próbuje się uwierzytelnić z komputera uznanego za nieautoryzowany.

Konto komputera może zostać dodane do pliku haseł SAMBA, jeśli nazwa dodawanego komputera istnieje jako odpowiednie konto użytkownika i w lokalnej bazie haseł. Składnia dodawania komputera lub konta maszyny do pliku haseł SAMBA polega na użyciu polecenia smbpasswd w wierszu poleceń w następujący sposób:

sudo smbpasswd -a -m NAZWA_KOMPUTERA

Podpowiedź

Upewnij się, że NAZWA_KOMPUTERA w powyższym przykładzie zamieniłeś na faktyczną nazwę komputera, dla którego konto chcesz dodać.

Uprawnienia Plików

Uprawnienia Plików opisują prawa, jakie komputer lub użytkownik posiada do danego katalogu, pliku czy zestawu plików. Takie uprawnienia mogą zostać zdefiniowane modyfikując plik /etc/samba/smb.conf i podając dokładne uprawnienia do danego współdzielonego zasobu. Przykładowo, jeśli zdefiniowałeś zasób SAMBA zrodladokumentow i chcesz nadać uprawnienia tylko-do-odczytu grupie użytkowników planowanie, a grupie autorzy oraz użytkownikowi stirlitz prawa do zapisu, możesz zmodyfikować plik /etc/samba/smb.conf dodając następujące wpisy pod pozycją [zrodladokumentow]:

read list = @planowanie

write list = @autorzy, stirlitz

Zapisz plik /etc/samba/smb.conf aby zatwierdzić zmiany.

Kolejnym możliwym do określenia uprawnieniem jest uprawnienie administratorskie dla danego współdzielonego zasobu. Użytkownicy posiadający uprawnienia administratora mogą odczytywać, zapisywać lub modyfikować informacje zawarte w zasobie, do którego użytkownik ma nadane uprawnienia administratora. Przykładowo, jeśli chcesz nadać uprawnienia administratora użytkownikowi bozena w przykładowym zasobie zrodladokumentow, konieczna jest modyfikacja pliku /etc/samba/smb.conf i dodanie następującego wiersza pod pozycją [zrodladokumentow]:

admin users = bozen

Zapisz plik /etc/samba/smb.conf aby zatwierdzić zmiany.

Klienci

Ubuntu zawiera aplikacje klienckie i możliwości dostępu do zasobów sieci współdzielonych przez protokół SMB. Przykładowo, narzędzie smbclient pozwala na dostęp do zdalnych współdzielonych systemów plików, na takiej samej zasadzie jak klient FTP. Aby uzyskać dostęp do współdzielonych zasobów folderu znanego jako dokumenty udostępnianego przez zdalny komputer Windows o nazwie bone_cr używając przykładowo smbclient, należy podać następujące polecenie w wierszu poleceń:

smbclient //bone_cr/dokumenty -U <nazwaużytkownika>

Zostaniesz poproszony o hasło dla użytkownika podanego w przełączniku -U, w wypadku poprawnego uwierzytelnienia zostanie wyświetlony wiersz poleceń, dzięki któremu można manipulować i przesyłać pliki za pomocą poleceń podobnych do tych używanych w tekstowych klientach FTP. Więcej informacji na temat narzędzia smbclient znajduje się w dokumentacji:


man smbclient

Lokalne montowanie zdalnych zasobów sieciowych używając protokołu SMB jest możliwe używając polecenia mount. Przykładowo, aby zamontować folder współdzielony kod-projektu na serwerze Windows o nazwie programowanie jako użytkownik redguy do punktu montowania Ubuntu /mnt/kprojektu

mount -t smbfs -o username=redguy //programowanie/kod-projektu /mnt/kprojektu

Zostaniesz poproszony o hasło użytkownika, po udanym uwierzytelnieniu zawartość współdzielonego zasobu zostanie udostępniona lokalnie poprzez punkt montowania określony jako ostatni argument w poleceniu mount. Aby rozłączyć się ze współdzielonym zasobem, po prostu użyj polecenie unmount, tak jak z dowolnym innym zamontowanym systemem plików. Przykładowo:

umount /mnt/kprojektu

Konta Użytkowników

Konta Użytkowników określają osoby z pewnym poziomem uwierzytelnienia, które mogą skorzystać z pewnych zasobów sieciowych i komputerowych. Zazwyczaj w środowisku sieciowym, konto użytkownika jest nadawane każdej osobie, która ma dostęp do komputera lub sieci, gdzie zasady i uprawnienia definiują dokładne uprawnienia kont użytkowników. Aby określić użytkowników sieciowych SAMBA w systemie Ubuntu, możesz skorzystać z polecenia smbpasswd. Przykładowo, aby dodać użytkownika SAMBA do systemu Ubuntu o nazwie bobeq, należy wykonać takie polecenie w wierszu:

smbpasswd -a bobeq

Aplikacja smbpasswd zapyta o hasło dla tego użytkownika:

Nowe hasło SMB:

Podaj hasło jakie chcesz ustawić dla tego użytkownika, aplikacja smbpasswd poprosi o potwierdzenie hasła:

Podaj hasło SMB ponownie:

Potwierdź hasło, smbpasswd doda pozycję dla użytkownika do pliku haseł SAMBA.

Grupy

Grupy definiują zbiór użytkowników komputerów lub użytkowników z równym poziomem dostępu do określonych zasobów sieciowych i oferują możliwość dokładnego określenia poziomu dostępu do tego typu zasobów. Przykładowo, jeśli jest określona grupa ubuntu-pl i zawiera użytkowników pressenter, gruvby oraz roch i druga określona grupa wsparcie zawierająca użytkowników gruvby, stiki oraz miszka, wtedy pewne zasoby sieciowe skonfigurowane tak, aby umożliwić dostęp grupie ubuntu-pl, pozwolą w ten sposób na dostęp użytkownikom pressenter, gruvby i roch, ale nie stiki czy miszka. Ze względu na to, że użytkownik gruvby należy do grupy ubuntu-pl oraz wsparcie, będzie miał dostęp do zasobów sieciowych skonfigurowanych do dostępu dla obu tych grup, a inni użytkownicy będą mieli dostęp tylko do tych zasobów, do których zasobów ma dostęp grupa do której należą.

Podczas definiowana grup w pliku konfiguracji SAMBA, /etc/samba/smb.conf, rozpoznawaną składnią opisującą grupę jest symbol "@" przed jej nazwą. Przykładowo, jeśli chcesz zdefiniować grupę o nazwie sysadmin w danej sekcji /etc/samba/smb.conf, należy to zrobić podając nazwę grupy jako @sysadmin.

Zasady Grup

Group Policy defines certain SAMBA configuration settings pertaining to the Domain or Workgroup computer accounts belong to, and other global settings for the SAMBA server. For example, if the SAMBA server belongs to a Workgroup of Windows computers called LEVELONE, then the /etc/samba/smb.conf could be edited, and the following value changed accordingly:

workgroup = LEVELONE

Save the file and restart the SAMBA daemons to affect the change.

Other important global policy settings include the server string which defines the NETBIOS server name reported by your Ubuntu system to other machines on the Windows-based network. This is the name your Ubuntu system will be recognized as by Windows clients and other computers capable of browsing the network with the SMB protocol. Additionally, you may specify the name and location of the SAMBA server's log file by using the log file directive in the /etc/samba/smb.conf file.

Some of the additional directives governing global group policy include specification of the global nature of all shared resources. For example, placing certain directives under the [global] heading of the /etc/samba/smb.conf file will affect all shared resources unless an overriding directive is placed under a particular shared resource heading. You specify all shares are browseable by all clients on the network by placing a browseable directive, which takes a Boolean argument, under the [global] heading in the /etc/samba/smb.conf. That is, if you edit the file and add the line:

browseable = true

under the [global] section of /etc/samba/smb.conf, then all shares provided by your Ubuntu system via SAMBA will be browseable by all authorized clients, unless a specific share contains a browseable = false directive, which will override the global directive.

Other examples which work in a similar manner, are the public and writeable directives. The public directive accepts a Boolean value and decides whether a particular shared resource is visible by all clients, authorized or not. The writeable directive also takes a Boolean value and defines whether a particular shared resource is writable by any and all network clients.

Poprzedni
Następny
Spis treści