diff --git a/make-homes.pl b/make-homes.pl
new file mode 100644
index 0000000..68b7127
--- /dev/null
+++ b/make-homes.pl
@@ -0,0 +1,45 @@
+#! /usr/bin/perl
+
+# Går gjennom passwd.pvv og oppretter alle hjemmekataloger som mangler.
+
+use strict;
+use warnings;
+use File::Basename;
+
+sub execute {
+        if (system(@_) != 0) {
+                die "Failed to execute " . join(" ", @_);
+        }
+}
+
+my $passwd = "/etc/passwd.pvv";
+
+my $homes_created = 0;
+
+open (my $passwd_fd, $passwd) or die "Unable to open $passwd: $!";
+while (<$passwd_fd>) {
+        chomp;
+        my ($user, undef, $uid, $gid, undef, $homedir, $shell) = split(":");
+
+        # Ignorer brukere som uansett ikke får lvov til å logge inn
+        next if $shell eq "/bin/sperret" || $shell eq "/bin/msgsh" || $shell eq "/bin/false";
+
+        # Prefix med /export, som er lokal path på NFS-serveren
+        $homedir = "/export" . $homedir;
+
+        # Only create homedir if it is missing, and it would have been exported from here
+        if (-d dirname($homedir) && !-d $homedir) {
+                print "Oppretter hjemmekatalog for $user: $homedir\n";
+                $homes_created = 1;
+                execute("mkdir", "-p", "-m", "711", $homedir);
+                execute("cp -r /local/skel/usr/.??* $homedir");
+                execute("chown", "-R", "$uid:$gid", $homedir);
+                execute("find", $homedir, "-type", "f", "-exec", "chmod", "600", "{}", "+");
+                execute("find", $homedir, "-type", "d", "-exec", "chmod", "700", "{}", "+");
+                execute("chmod", "711", $homedir); # Må ha execute, så ~/web-docs virker
+        }
+}
+
+if ($homes_created) {
+        execute("/local/quota/makeexportsandquota.pl");
+}