Drift/FreeBSD
Oppsett PVV-oppsett på FreeBSD
FreeBSD 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 FreeBSD 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.
- I /etc/auto_master, kommenter vekk regelen som starter med /home.
- Tilføy innholdet fra auto.master til auto_master:
cat /etc/auto.master >> /etc/auto_master
Nå kan du skru på automount
sysrc autofs_enable=YES sh /etc/rc
Hvis det ikke fungerer, kan det hjelpe å redigere /etc/auto_master og legge til resvport
som mount-flagg i auto_pvv. Husk også at BSD utgaven av NFS ikke liker nfsvers-parameteren som noen PVV-maskiner har.
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
Hos PVV lar vi root logge inn med passord. FreeBSD bruker OpenSSH sitt standardoppsett som forbyr dette. I /etc/ssh/sshd_config, sett PermetRootLogin yes
PAM
I /etc/pam.d/system, fjern # foran alle regler som nevner pam_krb5.so.
passwd
Her blir det litt vanskelig. FreeBSD bruker /etc/passwd.master som autoritativ brukerkilde, og /bin/bash er ikke en gyldig shell (prøv /usr/local/bin/bash istedenfor).
Vi har skrevet følgende script som tar en Linux-stil passwd fil som input, og fikser opp alle brukere, scriptet forventer en PVV-groups fil i arbeidsmappe for å hente manglende grupper fra:
#!/bin/sh # createUsers.sh [ -f 'group' ] || echo Put a group file in the working directory >&2 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)" [ $uid -lt 1000 ] && continue getent passwd "$username" && action=usermod || action=useradd [ "$shell" = '/bin/bash' ] && shell=/usr/local/bin/bash [ "$shell" = '/bin/sash' ] && shell=/usr/local/bin/sash [ "$shell" = '/bin/zsh' ] && shell=/usr/local/bin/zsh echo "$username:x:$uid:$gid:$gecos:$home:$shell" if ! getent group "$gid" >/dev/null 2>&1 then grep ":*:$gid:" group | head -n1 >> /etc/group fi pw "$action" -n "$username" -u "$uid" -g "$gid" -d "$home" -s "$shell" -c "$gecos" done
Programvare
Jeg har i hovedsak brukt A FreeBSD Desktop Howto for å installere desktoppen, men her er de kommandoene som jeg synes er fornuftige å kjøre:
sysrc allscreens_kbdflags="-b quiet.off" sysrc moused_enable=YES sysrc hcsecd_enable=YES sysrc sdpd_enable=YES sysrc ntpd_enable=YES sysrc ntpd_flags=-g sysrc devfs_system_ruleset=devfsrules_common sysrc hald_enable=YES sysrc dbus_enable=YES sysrc kdm4_enable=YES sysrc autofs_enable=YES pkg install x11/xorg x11/nvidia-settings x11/xconfig x11/kde4 vim bash git sash