--:Minify:-- local kernel = ... if kernel.firstBoot then kernel.log("Seeding filesystem permissions...") local P = kernel.vfs.P local PERM = kernel.vfs.PERM local RW_R_R = P.OWNER_R + P.OWNER_W + P.GROUP_R + P.WORLD_R local RWX_RX_RX = P.OWNER_R + P.OWNER_W + P.OWNER_X + P.GROUP_R + P.GROUP_X + P.WORLD_R + P.WORLD_X local RW_R__ = P.OWNER_R + P.OWNER_W + P.GROUP_R local RW____ = P.OWNER_R + P.OWNER_W local RWXRWXRWX = PERM.RWXRWXRWX local SUID_755 = PERM.SUID_755 local function seed(root, data) for i=1,#data do local entry=data[1] kernel.vfs.chmod(root..entry[1],entry[2],entry[3]) kernel.vfs.chown(root..entry[1],entry[4]) end end seed("/", { {"bin", 0, 0, RWX_RX_RX}, {"boot", 0, 0, RWX_RX_RX}, {"dev", 0, 0, RWXRWXRWX}, {"etc", 0, 0, RWX_RX_RX}, {"home", 0, 0, RWX_RX_RX}, {"lib", 0, 0, RWX_RX_RX}, {"proc", 0, 0, RWXRWXRWX}, {"root", 0, 0, RW____ }, {"sbin", 0, 0, RWX_RX_RX}, {"tmp", 0, 0, RWXRWXRWX}, {"usr", 0, 0, RWX_RX_RX}, {"var", 0, 0, RWXRWXRWX}, {"opt", 0, 0, RWX_RX_RX}, }) seed("/bin/", { {"login", 0, 0, SUID_755 }, {"su", 0, 0, SUID_755 }, {"sudo", 0, 0, SUID_755 }, }) seed("/etc/", { {"passwd", 0, 0, RW_R_R }, {"shadow", 0, 0, RW____ }, {"pam.d", 0, 0, RW____ }, }) seed("/etc/pam.d/", { {"secret", 0, 0, RW____}, }) kernel.log("Filesystem permissions seeded.") end