Sådan installeres Samba4 på CentOS 7 til fildeling på Windows
I vores sidste artikel viste vi, hvordan du installerer Samba4 på Ubuntu til grundlæggende fildeling mellem Ubuntu-systemer og Windows-maskiner. Hvor vi så på at konfigurere anonym (usikker) såvel som sikker fildeling.
Her vil vi beskrive, hvordan du installerer og konfigurerer Samba4 på CentOS 7 (fungerer også på RHEL 7) til grundlæggende fildeling mellem andre Linux-systemer og Windows-maskiner.
Vigtigt: Fra og med version 4.0 kan Samba køre som en Samba4 Active Directory Domain Controller, som indeholder kritiske emner til Ubuntu, CentOS og Windows.
Installer Samba4 i CentOS 7
1. Installer først Samba4 og krævede pakker fra standard CentOS-arkiver ved hjælp af værktøjet yum-pakkehåndtering som vist.
# yum install samba samba-client samba-common
2. Efter installation af samba-pakker skal du aktivere samba-tjenester, der skal tillades gennem system firewall med disse kommandoer.
# firewall-cmd --permanent --zone=public --add-service=samba # firewall-cmd --reload
Kontroller Windows Machine Workgroup Settings
3. Før du fortsætter med at konfigurere samba, skal du sørge for, at Windows-maskinen er i den samme arbejdsgruppe, der skal konfigureres på CentOS-serveren.
Der er to mulige måder at se Windows-maskinens arbejdsgruppeindstillinger på:
- Højreklik på “Denne pc” eller “Denne computer” → Egenskaber → Avancerede systemindstillinger → Computernavn.
- Alternativt kan du åbne cmd-prompten og køre følgende kommando og derefter kigge efter "arbejdsstationsdomæne" i output som vist nedenfor.
>net config workstation
Konfiguration af Samba4 på CentOS 7
4. Den vigtigste samba-konfigurationsfil er /etc/samba/smb.conf, den originale fil leveres med indstillinger for konfiguration, der forklarer forskellige konfigurationsdirektiver, der kan guide dig.
Men inden du konfigurerer samba, foreslår jeg, at du tager en sikkerhedskopi af standardfilen som denne.
# cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
Fortsæt derefter med at konfigurere samba til anonyme og sikre fildelingstjenester som forklaret nedenfor.
5. Opret først det delte bibliotek, hvor filerne gemmes på serveren, og indstil de relevante tilladelser til biblioteket.
# mkdir -p /srv/samba/anonymous # chmod -R 0775 /srv/samba/anonymous # chown -R nobody:nobody /srv/samba/anonymous
Du skal også ændre SELinux-sikkerhedskonteksten for den delte samba-bibliotek som følger.
# chcon -t samba_share_t /srv/samba/anonymous
6. Åbn derefter samba-konfigurationsfilen til redigering, hvor du kan ændre/tilføje sektionerne nedenfor med de tilsvarende direktiver.
# 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. Kontroller nu de aktuelle samba-indstillinger ved at køre kommandoen nedenfor.
# 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. Endelig skal du starte og aktivere samba-tjenester til at starte automatisk ved næste opstart og også anvende ovenstående ændringer for at træde i kraft.
# systemctl enable smb.service # systemctl enable nmb.service # systemctl start smb.service # systemctl start nmb.service
9. På Windows-maskinen skal du åbne "Netværk" fra et Windows Stifinder-vindue og derefter klikke på CentOS-værten, ellers prøv at få adgang til serveren ved hjælp af dens IP-adresse (brug ifconfig-kommandoen for at få IP-adresse).
e.g. \2.168.43.168.
10. Dernæst skal du åbne biblioteket Anonym og prøve at tilføje filer derinde for at dele med andre brugere.
Opsæt Samba4 Secure File Sharing
11. Start først med at oprette en samba-systemgruppe, føj derefter brugere til gruppen og indstil en adgangskode til hver bruger som sådan.
# groupadd smbgrp # usermod tecmint -aG smbgrp # smbpasswd -a tecmint
12. Opret derefter et sikkert bibliotek, hvor de delte filer opbevares, og indstil de relevante tilladelser til biblioteket med SELinux-sikkerhedskontekst til samba.
# 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. Åbn derefter konfigurationsfilen til redigering og rediger/tilføj afsnittet nedenfor med de tilsvarende direktiver.
# 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. Bekræft igen samba-konfigurationsindstillingerne ved at køre følgende kommando.
$ 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. Genstart Samba-tjenester for at anvende ændringerne.
# systemctl restart smb.service # systemctl restart nmb.service
16. Gå til Windows-maskine, åbn "Netværk" fra et Windows Stifinder-vindue, og klik derefter på CentOS-værten, ellers prøv at få adgang til serveren ved hjælp af dens IP-adresse.
e.g. \2.168.43.168.
Du bliver bedt om at angive dit brugernavn og din adgangskode for at logge ind på CentOS-serveren. Når du har indtastet legitimationsoplysningerne, skal du klikke på OK.
17. Når du er logget ind, vil du se alle de samba-delte mapper. Del nu nogle filer sikkert med andre tilladte brugere på netværket ved at slippe dem i Sikker mappe.
Du kan også tjekke disse nyttige artikler om Samba-fildeling på et netværk.
- Sådan monteres/afmonteres lokale og netværk (Samba & NFS) filsystemer i Linux
- Brug af ACL'er (adgangskontrolister) og montering af Samba/NFS-aktier
- Sådan løses SambaCry-sårbarhed (CVE-2017-7494) i Linux-systemer
I denne vejledning viste vi dig, hvordan du konfigurerer Samba4 til anonym og sikker fildeling mellem CentOS og andre Linux-systemer såvel som Windows-maskiner. Del eventuelle tanker med os via kommentarfeltet nedenfor.