Kā instalēt Samba4 uz CentOS 7 failu koplietošanai sistēmā Windows


Mūsu pēdējā rakstā mēs parādījām, kā instalēt Samba4 Ubuntu pamata failu koplietošanai starp Ubuntu sistēmām un Windows mašīnām. Kur mēs apskatījām anonīmu (nedrošu) konfigurēšanu, kā arī drošu failu koplietošanu.

Šeit mēs aprakstīsim, kā instalēt un konfigurēt Samba4 CentOS 7 (darbojas arī ar RHEL 7) pamata failu koplietošanai starp citām Linux sistēmām un Windows mašīnām.

Svarīgi: Sākot ar 4.0 versiju, Samba var darboties kā Samba4 Active Directory domēna kontrolleris, kas ietver kritiskās tēmas Ubuntu, CentOS un Windows.

CentOS 7 instalējiet Samba4

1. Vispirms instalējiet Samba4 un nepieciešamās pakotnes no noklusējuma CentOS krātuvēm, izmantojot yum pakotņu pārvaldnieka rīku, kā parādīts.

# yum install samba samba-client samba-common

2. Pēc samba pakotņu instalēšanas iespējojiet samba pakalpojumus, izmantojot sistēmas ugunsmūri, izmantojot šīs komandas.

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

Pārbaudiet Windows Machine Workgroup Settings

3. Pirms turpināt konfigurēt samba, pārliecinieties, vai Windows mašīna atrodas tajā pašā darba grupā, kas jākonfigurē CentOS serverī.

Windows datora darbgrupas iestatījumus var apskatīt divos veidos:

  • Ar peles labo pogu noklikšķiniet uz “Šis dators” vai “Mans dators” → Rekvizīti → Sistēmas papildu iestatījumi → Datora nosaukums.

  • Varat arī atvērt cmd uzvedni un izpildīt šo komandu, pēc tam izvadē meklējiet “darbstacijas domēnu”, kā parādīts zemāk.

>net config workstation

Samba4 konfigurēšana CentOS 7

4. Galvenais samba konfigurācijas fails ir /etc/samba/smb.conf, oriģinālajam failam ir iepriekšējas konfigurācijas iestatījumi, kas izskaidro dažādas konfigurācijas direktīvas, kas jums palīdzēs.

Bet, pirms konfigurējat samba, iesaku jums veikt šāda noklusējuma faila dublējumu.

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

Pēc tam turpiniet konfigurēt samba anonīmiem un drošiem failu koplietošanas pakalpojumiem, kā paskaidrots tālāk.

5. Vispirms izveidojiet koplietojamo direktoriju, kurā faili tiks glabāti serverī, un direktorijā iestatiet atbilstošās atļaujas.

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

Turklāt samba koplietojamā direktorija SELinux drošības konteksts jāmaina šādi.

# chcon -t samba_share_t /srv/samba/anonymous

6. Pēc tam rediģēšanai atveriet samba konfigurācijas failu, kur varat modificēt/pievienot zemāk esošās sadaļas ar attiecīgajām direktīvām.

# 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. Tagad pārbaudiet pašreizējos samba iestatījumus, izpildot zemāk esošo komandu.

# 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. Visbeidzot, sāciet un ļaujiet samba pakalpojumiem automātiski startēt nākamajā sāknēšanas reizē, kā arī piemērojiet iepriekš minētās izmaiņas, lai tās stātos spēkā.

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

9. Tagad Windows mašīnā no Windows Explorer loga atveriet “Network”, pēc tam noklikšķiniet uz CentOS resursdatora vai arī mēģiniet piekļūt serverim, izmantojot tā IP adresi (izmantojiet komandu ifconfig, lai iegūtu IP adresi).

e.g. \2.168.43.168.

10. Pēc tam atveriet direktoriju Anonymous un mēģiniet tajā pievienot failus, lai tos koplietotu ar citiem lietotājiem.

Iestatiet Samba4 drošu failu koplietošanu

11. Vispirms sāciet izveidot samba sistēmu grupu, pēc tam pievienojiet lietotājus grupai un iestatiet katram tā paroli.

# groupadd smbgrp
# usermod tecmint -aG smbgrp
# smbpasswd -a tecmint

12. Pēc tam izveidojiet drošu direktoriju, kurā tiks glabāti koplietojamie faili, un iestatiet attiecīgās atļaujas direktorijā ar SELinux drošības kontekstu sambai.

# 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. Pēc tam rediģēšanai atveriet konfigurācijas failu un modificējiet/pievienojiet zemāk esošo sadaļu ar attiecīgajām direktīvām.

# 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. Vēlreiz pārbaudiet samba konfigurācijas iestatījumus, izpildot šādu komandu.

$ 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. Restartējiet Samba pakalpojumus, lai piemērotu izmaiņas.

# systemctl restart smb.service
# systemctl restart nmb.service

16. Pārejiet uz Windows mašīnu, Windows Explorer logā atveriet “Network”, pēc tam noklikšķiniet uz CentOS resursdatora vai mēģiniet piekļūt serverim, izmantojot tā IP adresi.

e.g. \2.168.43.168.

Lai pieteiktos CentOS serverī, jums tiks lūgts norādīt savu lietotājvārdu un paroli. Kad esat ievadījis akreditācijas datus, noklikšķiniet uz Labi.

17. Pēc veiksmīgas pieteikšanās jūs redzēsiet visus samba koplietojamos direktorijus. Tagad droši koplietojiet dažus failus ar citiem atļautajiem lietotājiem tīklā, nometot tos drošajā direktorijā.

Varat arī apskatīt šos noderīgos rakstus par Samba failu koplietošanu tīklā.

  1. Kā lokālos un tīkla (Samba un NFS) failu sistēmas uzstādīt/atvienot Linux sistēmā
  2. ACL (piekļuves kontroles saraksti) izmantošana un Samba/NFS akciju pievienošana
  3. Kā novērst SambaCry ievainojamību (CVE-2017-7494) Linux sistēmās

Šajā rokasgrāmatā mēs parādījām, kā iestatīt Samba4 anonīmai un drošai failu koplietošanai starp CentOS un citām Linux sistēmām, kā arī Windows mašīnām. Dalieties savās domās, izmantojot komentāru sadaļu zemāk.