Czym jest Samba
Aby zapewnić współdzielenie drukarek i plików, Microsoft Windows używa narzędzia znanego jako SMB (Server Message Block). Ten sam obiekt jest czasami znany jako NetBIOS lub LanManager. Dzięki Andrew Tridgellowi i innym, systemy linuksowe zapewniają wsparcie dla SMB poprzez pakiet znany jako Samba. Podobnie jak SMB, Samba pozwala na:
- Współdzielenie drukarek i plików między systemami Microsoft Windows, OS/2, Netware i Unix
- Utworzenie prostego serwera nazw do identyfikowania systemów w sieci lokalnej
- Utworzenie kopii zapasowych plików PC na systemie Linux i ich przywracanie
- Administrowanie użytkownikami i hasłami
Samba udowodniła swoją niezawodność i wysoką wydajność w wielu organizacjach.Pakiet oprogramowania Samba w systemie Enterprise Linux jest zbiorem programów, które implementują protokół Server Message Block (powszechnie określany skrótem SMB) dla systemów UNIX.
Instalacja Samby
W systemie Enterprise Linux należy zainstalować poniższe pakiety, aby rozpocząć pracę z Sambą. Możesz pobrać/zainstalować te pakiety z serwera yum używając polecenia „yum install”.
samba #### basic Samba packagessamba-client #### samba client
Aby zainstalować te pakiety :
# yum install samba# yum install samba-client
Jeśli używasz konfiguracji Active Directory, zainstaluj również poniższe pakiety.
# yum install samba-winbind# yum install samba-winbind-clients# yum install samba-winbind-krb5-locator
Poniżej znajduje się lista pakietów, które zostaną zainstalowane po zainstalowaniu powyższych pakietów.
samba-libssamba-winbind-krb5-locatorsamba-winbind-modulessamba-vfs-glusterfssamba-winbindsamba-clientsamba-commonsamba-winbind-clientssamba
Konfigurowanie udziału Samby
Konfiguracja Samby zazwyczaj znajduje się w pliku /etc/samba/smb.conf, który zawiera wszystkie parametry konfiguracyjne związane z sambą. Wykonaj poniższe kroki, aby skonfigurować udział w sambie.
1. Aby udział był dostępny dla konkretnego użytkownika, musimy najpierw utworzyć użytkownika (john) na serwerze linuxowym, na którym znajduje się udział.
# useradd john
# passwd johnChanging password for user john.New password: Retype new password: passwd: all authentication tokens updated successfully.
2. Aby dodać aktywację użytkownika Samby i ustawić hasło, użyj polecenia „smbpasswd” z opcją -a.
# smbpasswd -a john
3. Utwórz katalog do udostępnienia lub możesz użyć istniejącego katalogu. Ustaw również pełne uprawnienia do katalogu.
# mkdir -p /path/to/share# chmod -R 777 /path/to/share
4. Następnie ustaw konteksty SElinuxa na udziale. Zweryfikuj, czy możesz utworzyć plik w udziale.
# chcon -R -t samba_share_t /path/to/share# cd /path/to/share# echo test > testfile.txt
5. Edytuj plik /etc/samba/smb.conf i dodaj ustawienia udziału.
# vi /etc/samba/smb.conf path = /path/to/share comment = samba share for john public = yes writable = yes create mask = 0777 browseable = yes
Zrestartuj usługę samby, aby powyższe ustawienia zaczęły obowiązywać.
# service smb restart
Rozwiązywanie problemów
Aby znaleźć problem z udziałem samby, możesz spróbować wyłączyć usługę iptables i wyłączyć SELinux. Upewnij się, że włączysz je z powrotem po rozwiązaniu problemu.
# service iptables stop# setenforce 0
Weryfikacja parametrów samby za pomocą testparm
Aby sprawdzić, czy parametry są prawidłowe w pliku smb.conf lub aby usunąć problemy z konfiguracją, użyj polecenia testparm.
logs
Dla ogólnego debugowania problemów z Sambą nieocenione są pliki log.smbd i log.nmbd w katalogu /var/log/samba. Parametr log level w sekcji globalnej pliku smb.conf określa ilość szczegółowych informacji zapisywanych przez Sambę do plików log, przy czym poziom 0 jest najbardziej ogólny, a 10 jest najbardziej szczegółowy. Każdy poziom logowania zawiera komunikaty z tego poziomu, oprócz komunikatów logowania poniżej. Na przykład poziom logowania 5 zawiera komunikaty z poziomu 5 oraz komunikaty z poziomów od 0 do 4.
# vi /etc/samba/smb.conf# this tells Samba to use a separate log file for each machine# that connectslog file = /var/log/samba/%m.logdebuglevel = 4