Samba iestatīšana un FirewallD un SELinux konfigurēšana, lai atļautu failu koplietošanu Linux/Windows klientos - 6. daļa


Tā kā datori reti darbojas kā izolētas sistēmas, ir sagaidāms, ka kā sistēmas administrators vai inženieris jūs zināt, kā izveidot un uzturēt tīklu ar vairāku veidu serveriem.

Šajā rakstā un nākamajā šajā sērijā mēs iepazīsimies ar Samba un NFS serveru iestatīšanu, izmantojot attiecīgi Windows/Linux un Linux klientus.

Šis raksts noteikti būs noderīgs, ja jūs aicināsit iestatīt failu serverus korporatīvajā vai uzņēmuma vidē, kur, iespējams, atradīsit dažādas operētājsistēmas un ierīču veidus.

Tā kā par Samba un NFS priekšvēsturi un tehniskajiem aspektiem jūs varat lasīt visā internetā, šajā un nākamajā rakstā mēs pievērsīsimies tieši vajāšanai ar tēmu.

1. darbība: Samba servera instalēšana

Mūsu pašreizējā testēšanas vide sastāv no divām RHEL 7 kastēm un vienas Windows 8 mašīnas šādā secībā:

1. Samba / NFS server [box1 (RHEL 7): 192.168.0.18], 
2. Samba client #1 [box2 (RHEL 7): 192.168.0.20]
3. Samba client #2 [Windows 8 machine: 192.168.0.106]

1. lodziņā instalējiet šādus pakotnes:

# yum update && yum install samba samba-client samba-common

2. kastē:

# yum update && yum install samba samba-client samba-common cifs-utils

Kad instalēšana ir pabeigta, mēs esam gatavi konfigurēt savu daļu.

2. solis: Failu koplietošanas iestatīšana, izmantojot Samba

Viens no iemesliem, kāpēc Samba ir tik aktuāls, ir tas, ka tas nodrošina failu un drukas pakalpojumus SMB/CIFS klientiem, kas liek šiem klientiem redzēt serveri tā, it kā tā būtu Windows sistēma (jāatzīst, ka man ir tendence nedaudz emocionāli kļūt rakstot par šo tēmu, jo tā bija mana pirmā iestatīšana kā jauns Linux sistēmas administrators pirms dažiem gadiem).

Lai ļautu sadarboties grupā, mēs izveidosim grupu ar nosaukumu finanses ar diviem lietotājiem (user1 un user2) ar komandu useradd un direktoriju/finansējumu box1.

Mēs mainīsim arī šīs direktorijas grupas īpašnieku, lai finansētu, un iestatīsim tā atļaujas uz 0770 (lasīšanas, rakstīšanas un izpildes atļaujas īpašniekam un grupas īpašniekam):

# groupadd finance
# useradd user1
# useradd user2
# usermod -a -G finance user1
# usermod -a -G finance user2
# mkdir /finance
# chmod 0770 /finance
# chgrp finance /finance

3. darbība: konfigurējiet SELinux un Firewalld

Gatavojoties konfigurēt/finansēt kā Samba koplietošanu, mums būs vai nu jāatspējo SELinux, vai arī jāiestata pareizās loģiskās un drošības konteksta vērtības šādi (pretējā gadījumā SELinux neļaus klientiem piekļūt koplietošanai):

# setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
# getsebool –a | grep samba_export
# semanage fcontext –at samba_share_t "/finance(/.*)?"
# restorecon /finance

Turklāt mums jānodrošina, ka ugunsmūris atļauj Samba satiksmi.

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

4. darbība: konfigurējiet Samba Share

Tagad ir pienācis laiks ienirt konfigurācijas failā /etc/samba/smb.conf un pievienot sadaļu savai daļai: mēs vēlamies, lai finanšu grupas dalībnieki varētu pārlūkot/finanses saturu un saglabāt/izveidot failus vai tajā esošie apakšdirektoriji (kuriem pēc noklusējuma atļaujas biti būs iestatīti uz 0770 un finanses būs viņu grupas īpašnieki):

[finance]
comment=Directory for collaboration of the company's finance team
browsable=yes
path=/finance
public=no
valid [email 
write [email 
writeable=yes
create mask=0770
Force create mode=0770
force group=finance

Saglabājiet failu un pēc tam pārbaudiet to ar testparm utilītu. Ja ir kādas kļūdas, šīs komandas izvade norāda, kas jums jālabo. Pretējā gadījumā tas parādīs jūsu Samba servera konfigurācijas pārskatu:

Ja vēlaties pievienot vēl vienu publiski pieejamu koplietošanu (tas nozīmē bez jebkādas autentifikācijas), izveidojiet citu sadaļu mapē /etc/samba/smb.conf un zem jaunā kopas nosaukuma kopējiet iepriekš minēto sadaļu, mainot tikai public = no uz public = jā un neiekļaujot derīgos lietotājus un uzrakstot sarakstu direktīvas.

5. solis: Samba lietotāju pievienošana

Pēc tam jums būs jāpievieno user1 un user2 kā Samba lietotāji. Lai to izdarītu, izmantosiet komandu smbpasswd, kas mijiedarbojas ar Samba iekšējo datu bāzi. Jums tiks piedāvāts ievadīt paroli, kuru vēlāk izmantosit, lai izveidotu savienojumu ar kopīgošanu:

# smbpasswd -a user1
# smbpasswd -a user2

Visbeidzot restartējiet Samba, iespējojiet pakalpojuma palaišanu sāknēšanas laikā un pārliecinieties, vai koplietošana ir faktiski pieejama tīkla klientiem:

# systemctl start smb
# systemctl enable smb
# smbclient -L localhost –U user1
# smbclient -L localhost –U user2

Šajā brīdī Samba failu serveris ir pareizi instalēts un konfigurēts. Ir pienācis laiks pārbaudīt šo iestatījumu mūsu RHEL 7 un Windows 8 klientos.

6. solis: Samba Share pievienošana Linux

Vispirms pārliecinieties, ka Samba koplietošana ir pieejama no šī klienta:

# smbclient –L 192.168.0.18 -U user2

(atkārtojiet iepriekš minēto komandu user1)

Tāpat kā jebkuru citu datu nesēju, jūs varat pievienot (un vēlāk atvienot) šo tīkla koplietošanu, ja nepieciešams:

# mount //192.168.0.18/finance /media/samba -o username=user1

(kur/media/samba ir esošs direktorijs)

vai pastāvīgi, failā/etc/fstab pievienojot šādu ierakstu:

//192.168.0.18/finance /media/samba cifs credentials=/media/samba/.smbcredentials,defaults 0 0

Ja slēptajā failā /media/samba/.smbcredentials (kura atļaujas un īpašumtiesības ir attiecīgi iestatītas uz 600 un root: root), ir divas rindas, kas norāda konta lietotājvārdu un paroli, kuram atļauts izmantot koplietošanu:

username=user1
password=PasswordForUser1

Visbeidzot, izveidosim failu iekš/finanses un pārbaudīsim atļaujas un īpašumtiesības:

# touch /media/samba/FileCreatedInRHELClient.txt

Kā redzat, fails tika izveidots ar 0770 atļaujām un īpašumtiesībām, kas iestatītas uz user1: finance.

7. solis: Samba Share instalēšana sistēmā Windows

Lai pievienotu Samba koplietošanu sistēmā Windows, dodieties uz My PC un izvēlieties Computer, pēc tam Map network drive. Pēc tam piešķiriet burtu kartējamam diskam un pārbaudiet Savienot, izmantojot dažādus akreditācijas datus (zemāk redzamie ekrānuzņēmumi ir spāņu valodā, manā dzimtajā valodā):

Visbeidzot, izveidosim failu un pārbaudīsim atļaujas un īpašumtiesības:

# ls -l /finance

Šoreiz fails pieder user2, jo tas ir konts, kuru izmantojām, lai izveidotu savienojumu no Windows klienta.

Kopsavilkums

Šajā rakstā mēs esam izskaidrojuši ne tikai to, kā iestatīt Samba serveri un divus klientus, izmantojot dažādas operētājsistēmas, bet arī serveri SELinux, lai atļautu vēlamās grupas sadarbības iespējas.

Visbeidzot, bet ne mazāk svarīgi, ļaujiet man ieteikt izlasīt smb.conf tiešsaistes cilvēka lapu, lai izpētītu citas konfigurācijas direktīvas, kas var būt piemērotākas jūsu gadījumam nekā šajā rakstā aprakstītais scenārijs.

Kā vienmēr, nekautrējieties nomest komentāru, izmantojot zemāk esošo veidlapu, ja jums ir kādi komentāri vai ieteikumi.