Samba ved UiO

Ved Universitetet i Oslo tilbys for Linux-maskiner Samba-tjener fra Red Hat sine offisielle repositories, med sentralt distribuert konfigurasjonsfil.

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

  1. Be usit-ops@rt.uio.no melde maskinen inn i domenet, se Join Windows-domene

  2. 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
    
  3. N?r CFEngine har konfigurert Samba ihht. policy, sjekk status med:

    # systemctl status smb
    # systemctl status winbind
    
  4. 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

Av Trond Hasle Amundsen
Publisert 26. juni 2024 12:24