OS X

From Programvareverkstedet
Revision as of 17:06, 11 April 2016 by Yorinad (talk | contribs) (→‎Automount/NFS: Fiks syntax)

Oppsett PVV-oppsett på OS X

OS X er et UNIX-system, og dermed er det godt i stand til å kjøre PVV-oppsett og samtidig være brukervennlig.

Automount/NFS

Automount er inkludert i OS X og det er bare å legge noen filer på plass.

  • Kopier /etc/auto* fra en annen PVV-maskin, uten å overskrive filer. Dette vil føre til at auto_master ikke blir kopiert.
  • Tilføy innholdet fra auto.master til auto_master:
    cat /etc/auto.master >> /etc/auto_master

Hvis det ikke fungerer, kan det hjelpe å redigere /etc/auto_master og legge til resvport som mount-flagg i auto_pvv.

Kerberos

Bare kopier /etc/krb5.conf fra en annen PVV-maskin. Fungerer ellers out-of-the-box. Prøv om det fungerer med

kinit brukernavn

Hvis du ikke får noe feilmelding fungerer det.

SSH

I Systemvalg > Deling > Ekstern pålogging, sørg for at den er krysset av og at Alle brukere er krysset av.

PAM

Legg til følgende regel i /etc/pam.d/authorization som andre regel (under eksisterende pam_krb5-regel):

auth       sufficient     pam_krb5.so use_first_pass default_principal

passwd

Her blir det litt vanskelig. OS X har ikke noe forhold til passwd, som du kan lese i kommentar i /etc/passwd

Vi har skrevet følgende script som tar en Linux-stil passwd fil som input, og fikser opp alle brukere:

#!/bin/sh
# createUsers.sh
while read passwd
do
	username="$(echo "$passwd" | cut -d: -f1)"
	uid="$(echo "$passwd" | cut -d: -f3)"
	gid="$(echo "$passwd" | cut -d: -f4)"
	gecos="$(echo "$passwd" | cut -d: -f5)"
	home="$(echo "$passwd" | cut -d: -f6)"
	shell="$(echo "$passwd" | cut -d: -f7)"

	echo "$username:$uid:$gid:$gecos:$home:$shell"

	dscl . -create /Users/"$username"
	dscl . -create /Users/"$username" UserShell "$shell"
	dscl . -create /Users/"$username" RealName "$gecos"
	dscl . -create /Users/"$username" UniqueID "$uid"
	dscl . -create /Users/"$username" PrimaryGroupID "$gid"
	dscl . -create /Users/"$username" NFSHomeDirectory "$home"

done

Bruk ved å kjøre følgende kommando (gitt at du har en passwd-fil i samme mappa):

LC_ALL=C grep :/home/pvv/ passwd | LC_ALL=C ./createUsers.sh