Innhold
1 Forutsetninger
For at maskinen skal være en Samba-server må den være meldt inn i Active Directory (AD), domenet "UIO.NO". Dette har vi en prosedyre for, se Join Windows-domene. Maskinen må kjøre en UiO-støttet variant av RHEL Server, og må ha et DNS-navn direkte under domenet uio.no. Dette vil si at:
maskinnavn.fak.uio.no
ikke er et gyldig navn ifm. medlemskap i AD. Navnet må være:
maskinnavn.uio.no
For øvrig brukes Red Hats distribusjon av Samba. Konfigurasjonsfil distes av USIT via CFEngine, noe som skjer via innmelding av maskinen i riktig rolle. Hovedkonfigurasjonen ligger her, og kan ikke endres på av lokal administrator:
/etc/samba/smb.conf
Konfigurasjon av shares og ev. annen lokal konfigurasjon gjøres i filen:
/etc/samba/smb.conf-<maskinnavn>
2 Installere Samba
Be usit-ops@rt.uio.no melde maskinen inn i domenet, se Join Windows-domene
Meld fra til usit-ops@rt.uio.no om at maskinen skal være en Samba-tjener. Da vil UiOs driftsopplegg sørge for at Samba er riktig satt opp. SSD kjører i mreg:
mreg> policy host_add samba_server <maskinnavn> OK: : Added <maskinnavn>.uio.no to samba_server
Når CFEngine har konfigurert Samba ihht. policy, sjekk status med:
# systemctl status smb # systemctl status winbind
Sørg for at firewalld slipper gjennom trafikk til Samba:
# firewall-cmd --add-service=samba success # firewall-cmd --add-service=samba --permanent success
SELinux kan i noen tilfeller forårsake problemer. Se dokumentasjon:
3 Join Windows-domene
Viktig
Dette må gjøres av OPS.
Slik gjøres join til AD samtidig som vi sørger for at maskinen havner i riktig OU sambasrv for ryddighetens skyld:
# net ads join -U <brukernavn> createcomputer=sambasrv
Brukernavnet her tilhører en brukar som er medlem i gruppen ucore. Andre brukere har ikke tilgang til å melde inn i dette OU-et i AD.
Det kommer gjerne et par feilmeldinger ved selve innmeldingen i domenet. Dette er normalt ikke et problem og indikerer ikke at innmeldingen feilet. Man kan teste tilknytning til domenet slik:
# net ads testjoin Join is OK
Dersom maskinen tidligere var innmeldt i domenet, eller en annen maskin med samme navn var innmeldt, må den fjernes fra domenet før den kan meldes inn igjen. Kontakt i tilfelle windows-drift@usit.uio.no og be dem fjerne maskinen fra domenet.
4 Konfigurasjon
Den sentrale konfigurasjonsfilen /etc/samba/smb.conf vedlikeholdes av USIT via CFEngine.
Testing av konfigurasjon kan gjøres slik:
# testparm
Dersom man har behov for andre innstillinger i sentral konfigurasjonsfil, dvs. under [global], ta kontakt med usit-ops@usit.uio.no.
4.1 Eksempel på konfigurasjon
For oppsett av shares, redigerer du /etc/samba/smb.conf-<maskinnamn>. Denne filen må opprettes dersom den ikke finnes fra før.
Eksempel:
[share-navn] path = /avdeling/maskin/katalog/underkatalog create mode = 0774 directory mode = 0775 browseable = yes public = no guest ok = no read only = no invalid users = root valid users = <brukernavn> veto files = /.??*/
Sharet får her den endelege stien \\maskinnavn\share-navn.
Dette sharet vil kunne åpnes av en enkelt brukar. For å gi tilgang til en hel gruppe, kan man istedenfor skrive:
valid users = &<gruppenavn>
'&' betyr "slå opp nettgruppen i NIS/LDAP".
4.2 Nettgrupper og filgrupper
For å gi tilgang kan man bruke oppslag på filgrupper eller nettgrupper, eller en kombinasjon av disse:
valid users = +osx-core # filgruppe valid users = @ucore # nettgruppe valid users = &osx-core # nettgruppe viss den finnest, ellers filgruppe
Se smb.conf(5) for mer info.
4.3 Ikke vise skjulte filer
Direktivet veto files = /.??*/ gjemmer alle skjulte filer og katalogar (som begynner på '.').
4.4 Dele ut hjemmeområder
Dersom maskinen skal dele ut hjemmeområder, vil det automatisk bli lagt til konfigurasjon i smb.conf via policy homedir_server. Hjemmeområdene vil da være tilgjengelig på vanlig måte som \\maskinnavn\brukernavn.
5 Stopp og start av Samba
CFEngine vil starte tjenestene dersom de ikke kjører. For manuell stopp/start kan man bruke:
# systemctl stop|start|restart smb # systemctl stop|start|restart winbind
Samba logger ved UiO til /var/log/samba/log.smbd