150498135SJose Luis Duran#- 250498135SJose Luis Duran# Copyright (c) 2022 Baptiste Daroussin <bapt@FreeBSD.org> 350498135SJose Luis Duran# 450498135SJose Luis Duran# SPDX-License-Identifier: BSD-2-Clause 550498135SJose Luis Duran# 650498135SJose Luis Duran 7e72457c4SJose Luis Duranexport NUAGE_FAKE_ROOTDIR="$PWD" 8e72457c4SJose Luis Duran 9a42d6f76SBaptiste Daroussinatf_test_case sethostname 10a42d6f76SBaptiste Daroussinatf_test_case addsshkey 11a42d6f76SBaptiste Daroussinatf_test_case adduser 12fc34a246SBaptiste Daroussinatf_test_case adduser_passwd 13a42d6f76SBaptiste Daroussinatf_test_case addgroup 14a42d6f76SBaptiste Daroussin 1550498135SJose Luis Duransethostname_body() 1650498135SJose Luis Duran{ 17a42d6f76SBaptiste Daroussin atf_check /usr/libexec/flua $(atf_get_srcdir)/sethostname.lua 18a42d6f76SBaptiste Daroussin if [ ! -f etc/rc.conf.d/hostname ]; then 19a42d6f76SBaptiste Daroussin atf_fail "hostname not written" 20a42d6f76SBaptiste Daroussin fi 21a42d6f76SBaptiste Daroussin atf_check -o inline:"hostname=\"myhostname\"\n" cat etc/rc.conf.d/hostname 22a42d6f76SBaptiste Daroussin} 23a42d6f76SBaptiste Daroussin 2450498135SJose Luis Duranaddsshkey_body() 2550498135SJose Luis Duran{ 26a42d6f76SBaptiste Daroussin atf_check /usr/libexec/flua $(atf_get_srcdir)/addsshkey.lua 27a42d6f76SBaptiste Daroussin if [ ! -f .ssh/authorized_keys ]; then 28a42d6f76SBaptiste Daroussin atf_fail "ssh key not added" 29a42d6f76SBaptiste Daroussin fi 308edd6c07SJose Luis Duran atf_check -o inline:"40700\n" stat -f %p .ssh 318edd6c07SJose Luis Duran atf_check -o inline:"100600\n" stat -f %p .ssh/authorized_keys 32a42d6f76SBaptiste Daroussin atf_check -o inline:"mykey\n" cat .ssh/authorized_keys 33a42d6f76SBaptiste Daroussin atf_check /usr/libexec/flua $(atf_get_srcdir)/addsshkey.lua 34a42d6f76SBaptiste Daroussin atf_check -o inline:"mykey\nmykey\n" cat .ssh/authorized_keys 35a42d6f76SBaptiste Daroussin} 36a42d6f76SBaptiste Daroussin 37e72457c4SJose Luis Duranadduser_head() 38e72457c4SJose Luis Duran{ 39e72457c4SJose Luis Duran atf_set "require.user" root 40e72457c4SJose Luis Duran} 4150498135SJose Luis Duranadduser_body() 4250498135SJose Luis Duran{ 43a42d6f76SBaptiste Daroussin mkdir etc 44e72457c4SJose Luis Duran printf "root:*:0:0::0:0:Charlie &:/root:/bin/sh\n" > etc/master.passwd 45a42d6f76SBaptiste Daroussin pwd_mkdb -d etc etc/master.passwd 46a42d6f76SBaptiste Daroussin printf "wheel:*:0:root\n" > etc/group 47945632caSJose Luis Duran atf_check -e inline:"nuageinit: Argument should be a table\nnuageinit: Argument should be a table\n" /usr/libexec/flua $(atf_get_srcdir)/adduser.lua 48a42d6f76SBaptiste Daroussin test -d home/impossible_username || atf_fail "home not created" 49a42d6f76SBaptiste Daroussin atf_check -o inline:"impossible_username::1001:1001::0:0:impossible_username User:/home/impossible_username:/bin/sh\n" grep impossible_username etc/master.passwd 50a42d6f76SBaptiste Daroussin} 51a42d6f76SBaptiste Daroussin 52fc34a246SBaptiste Daroussinadduser_passwd_body() 53fc34a246SBaptiste Daroussin{ 54fc34a246SBaptiste Daroussin mkdir etc 55fc34a246SBaptiste Daroussin printf "root:*:0:0::0:0:Charlie &:/root:/bin/sh\n" > etc/master.passwd 56fc34a246SBaptiste Daroussin pwd_mkdb -d etc etc/master.passwd 57fc34a246SBaptiste Daroussin printf "wheel:*:0:root\n" > etc/group 58fc34a246SBaptiste Daroussin atf_check /usr/libexec/flua $(atf_get_srcdir)/adduser_passwd.lua 59fc34a246SBaptiste Daroussin test -d home/foo || atf_fail "home not created" 60fc34a246SBaptiste Daroussin passhash=`awk -F ':' '/^foo:/ {print $2}' etc/master.passwd` 61fc34a246SBaptiste Daroussin atf_check -s exit:0 -o inline:$passhash \ 62fc34a246SBaptiste Daroussin $(atf_get_srcdir)/crypt $passhash "bar" 63*3e2a7a2cSBaptiste Daroussin passhash=`awk -F ':' '/^foocrypted:/ {print $2}' etc/master.passwd` 64*3e2a7a2cSBaptiste Daroussin atf_check -s exit:0 -o inline:$passhash \ 65*3e2a7a2cSBaptiste Daroussin $(atf_get_srcdir)/crypt $passhash "barcrypted" 66fc34a246SBaptiste Daroussin} 67fc34a246SBaptiste Daroussin 6850498135SJose Luis Duranaddgroup_body() 6950498135SJose Luis Duran{ 70a42d6f76SBaptiste Daroussin mkdir etc 71a42d6f76SBaptiste Daroussin printf "wheel:*:0:root\n" > etc/group 72945632caSJose Luis Duran atf_check -e inline:"nuageinit: Argument should be a table\nnuageinit: Argument should be a table\n" /usr/libexec/flua $(atf_get_srcdir)/addgroup.lua 73a42d6f76SBaptiste Daroussin atf_check -o inline:"impossible_groupname:*:1001:\n" grep impossible_groupname etc/group 74a42d6f76SBaptiste Daroussin} 75a42d6f76SBaptiste Daroussin 7650498135SJose Luis Duranatf_init_test_cases() 7750498135SJose Luis Duran{ 78a42d6f76SBaptiste Daroussin atf_add_test_case sethostname 79a42d6f76SBaptiste Daroussin atf_add_test_case addsshkey 80a42d6f76SBaptiste Daroussin atf_add_test_case adduser 81fc34a246SBaptiste Daroussin atf_add_test_case adduser_passwd 82a42d6f76SBaptiste Daroussin atf_add_test_case addgroup 83a42d6f76SBaptiste Daroussin} 84