Wyszukiwanie w witrynie

Jak zainstalować Sambę4 na CentOS 7 do udostępniania plików w systemie Windows


W naszym ostatnim artykule pokazaliśmy, jak zainstalować Sambę4 na Ubuntu w celu podstawowego udostępniania plików pomiędzy systemami Ubuntu i komputerami z systemem Windows. Gdzie przyjrzeliśmy się konfiguracji anonimowego (niezabezpieczonego), a także bezpiecznego udostępniania plików.

Tutaj opiszemy jak zainstalować i skonfigurować Sambę4 na CentOS 7 (działa również na RHEL 7) w celu podstawowego udostępniania plików pomiędzy innymi systemami Linux i maszynami Windows.

Ważne: począwszy od wersji 4.0 Samba może działać jako kontroler domeny (DC) usługi Active Directory (AD). Sugerujemy przeczytanie naszej specjalnej serii na temat konfigurowania kontrolera domeny Active Directory Samba4, która zawiera najważniejsze tematy dotyczące Ubuntu, CentOS i Windows.

Zainstaluj Sambę4 w CentOS 7

1. Najpierw zainstaluj Sambę4 i wymagane pakiety z domyślnych repozytoriów CentOS, używając narzędzia do zarządzania pakietami yum, jak pokazano.

yum install samba samba-client samba-common

2. Po zainstalowaniu pakietów Samby włącz usługi Samby poprzez zaporę systemową za pomocą tych poleceń.

firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload

Sprawdź ustawienia grupy roboczej komputera z systemem Windows

3. Zanim przystąpisz do konfiguracji Samby, upewnij się, że komputer z systemem Windows znajduje się w tej samej grupie roboczej, która ma być skonfigurowana na serwerze CentOS.

Istnieją dwa możliwe sposoby przeglądania ustawień grupy roboczej komputera z systemem Windows:

  • Kliknięcie prawym przyciskiem myszy „Ten komputer” lub „Mój komputer” → WłaściwościZaawansowane ustawienia systemu Nazwa komputera.

  • Alternatywnie otwórz wiersz cmd i uruchom następujące polecenie, a następnie poszukaj w wynikach „domena stacji roboczej”, jak pokazano poniżej.
>net config workstation

Konfigurowanie Samby4 na CentOS 7

4. Główny plik konfiguracyjny Samby to /etc/samba/smb.conf, oryginalny plik zawiera ustawienia wstępnej konfiguracji, które wyjaśniają różne wytyczne konfiguracyjne, które Cię poprowadzą.

Jednak przed skonfigurowaniem Samby sugeruję wykonanie kopii zapasowej domyślnego pliku w ten sposób.

cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

Następnie skonfiguruj Sambę dla usług anonimowych i bezpiecznego udostępniania plików, jak wyjaśniono poniżej.

Anonimowe udostępnianie plików Samba4

5. Najpierw utwórz na serwerze współdzielony katalog, w którym będą przechowywane pliki, i ustaw odpowiednie uprawnienia w tym katalogu.

mkdir -p /srv/samba/anonymous
chmod -R 0775 /srv/samba/anonymous
chown -R nobody:nobody /srv/samba/anonymous

Musisz także zmienić kontekst zabezpieczeń SELinux dla współdzielonego katalogu samby w następujący sposób.

chcon -t samba_share_t /srv/samba/anonymous

6. Następnie otwórz plik konfiguracyjny samby do edycji, w którym możesz modyfikować/dodawać poniższe sekcje z odpowiednimi dyrektywami.

vi /etc/samba/smb.conf
[global]
	workgroup = WORKGROUP
	netbios name = centos
	security = user
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	browsable =yes
	writable = yes
	guest ok = yes
	read only = no
	force user = nobody

7. Teraz sprawdź bieżące ustawienia samby, uruchamiając poniższe polecenie.

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Global parameters
[global]
	netbios name = centos
	printcap name = cups
	security = USER
	idmap config * : backend = tdb
	cups options = raw
[homes]
	comment = Home Directories
	browseable = No
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S
[printers]
	comment = All Printers
	path = /var/tmp
	browseable = No
	printable = Yes
	create mask = 0600
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	create mask = 0664
	directory mask = 0775
	write list = root
[Anonymous]
 	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	force user = nobody
	guest ok = Yes
	read only = No

8. Na koniec uruchom i włącz usługi Samby, aby uruchamiały się automatycznie przy następnym uruchomieniu, a także zastosuj powyższe zmiany, aby zaczęły obowiązywać.

systemctl enable smb.service
systemctl enable nmb.service
systemctl start smb.service
systemctl start nmb.service

Testowanie anonimowego udostępniania plików Samby

9. Teraz na komputerze z systemem Windows otwórz „Sieć” w oknie Eksploratora Windows, a następnie kliknij hosta CentOS lub spróbuj uzyskaj dostęp do serwera przy użyciu jego adresu IP (użyj polecenia ifconfig, aby uzyskać adres IP).

e.g. \2.168.43.168.

10. Następnie otwórz katalog Anonimowy i spróbuj dodać tam pliki, aby udostępnić je innym użytkownikom.

Skonfiguruj bezpieczne udostępnianie plików Samba4

11. Najpierw zacznij od utworzenia grupy systemowej Samba, następnie dodaj użytkowników do grupy i ustaw hasło dla każdego użytkownika w ten sposób.

groupadd smbgrp
usermod tecmint -aG smbgrp
smbpasswd -a tecmint

12. Następnie utwórz bezpieczny katalog, w którym będą przechowywane udostępnione pliki i ustaw odpowiednie uprawnienia do katalogu z kontekstem zabezpieczeń SELinux dla samby.

mkdir -p /srv/samba/secure
chmod -R 0770 /srv/samba/secure
chown -R root:smbgrp /srv/samba/secure
chcon -t samba_share_t /srv/samba/secure

13. Następnie otwórz plik konfiguracyjny do edycji i zmodyfikuj/dodaj poniższą sekcję z odpowiednimi dyrektywami.

vi /etc/samba/smb.conf
[Secure]
	comment = Secure File Server Share
	path =  /srv/samba/secure
	valid users = @smbgrp
	guest ok = no
	writable = yes
	browsable = yes

14. Ponownie sprawdź ustawienia konfiguracji Samby, uruchamiając następujące polecenie.

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Global parameters
[global]
	netbios name = centos
	printcap name = cups
	security = USER
	idmap config * : backend = tdb
	cups options = raw
[homes]
	comment = Home Directories
	browseable = No
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S
[printers]
	comment = All Printers
	path = /var/tmp
	browseable = No
	printable = Yes
	create mask = 0600
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	create mask = 0664
	directory mask = 0775
	write list = root
[Anonymous]
 	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	force user = nobody
	guest ok = Yes
	read only = No
[Secure]
	comment = Secure File Server Share
	path = /srv/samba/secure
	read only = No
	valid users = @smbgrp

15. Uruchom ponownie usługi Samby, aby zastosować zmiany.

systemctl restart smb.service
systemctl restart nmb.service

Testowanie bezpiecznego udostępniania plików Samby

16. Przejdź do komputera z systemem Windows, otwórz „Sieć” w oknie Eksploratora Windows, a następnie kliknij hosta CentOS lub spróbuj uzyskać dostęp serwer przy użyciu jego adresu IP.

e.g. \2.168.43.168.

Zostaniesz poproszony o podanie nazwy użytkownika i hasła, aby zalogować się do serwera CentOS. Po wprowadzeniu danych logowania kliknij OK.

17. Po pomyślnym zalogowaniu zobaczysz wszystkie udostępnione katalogi samby. Teraz bezpiecznie udostępnij niektóre pliki innym uprawnionym użytkownikom w sieci, upuszczając je w katalogu Bezpieczne.

Możesz także zapoznać się z tymi przydatnymi artykułami dotyczącymi udostępniania plików Samby w sieci.

  1. Jak montować/odmontowywać lokalne i sieciowe systemy plików (Samba i NFS) w systemie Linux
  2. Korzystanie z list ACL (list kontroli dostępu) i montowanie udziałów Samba/NFS
  3. Jak naprawić lukę w zabezpieczeniach SambaCry (CVE-2017-7494) w systemach Linux

W tym przewodniku pokazaliśmy, jak skonfigurować Sambę4 do anonimowego i bezpiecznego udostępniania plików pomiędzy CentOS i innymi systemami Linux, a także komputerami z systemem Windows. Podziel się z nami swoimi przemyśleniami w sekcji komentarzy poniżej.