mirror of
https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git
synced 2025-12-15 11:22:43 +03:00
Allow override default user's homedir, shell, group and gecos
This commit is contained in:
parent
c52b8b502f
commit
81628a796b
@ -164,7 +164,12 @@ init__create_default_user() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
$MOCK addgroup "$user"
|
$MOCK addgroup "$user"
|
||||||
$MOCK adduser -h "/home/$user" -s /bin/sh -G "$user" -D "$user"
|
$MOCK adduser -D \
|
||||||
|
-h "${CLOUD_USER_HOMEDIR:-/home/$user}" \
|
||||||
|
-s "${CLOUD_USER_SHELL:-/bin/sh}" \
|
||||||
|
-G "${CLOUD_USER_PRIMARY_GROUP:-$user}" \
|
||||||
|
${CLOUD_USER_GECOS:+-g "$CLOUD_USER_GECOS"} \
|
||||||
|
"$user"
|
||||||
$MOCK addgroup "$user" wheel
|
$MOCK addgroup "$user" wheel
|
||||||
echo "$user:*" | $MOCK chpasswd -e
|
echo "$user:*" | $MOCK chpasswd -e
|
||||||
|
|
||||||
|
|||||||
@ -30,10 +30,24 @@ init__userdata_user() {
|
|||||||
local default_user="$(get_userdata users/1)"
|
local default_user="$(get_userdata users/1)"
|
||||||
if [ "$default_user" != "default" ]; then
|
if [ "$default_user" != "default" ]; then
|
||||||
CLOUD_USER="$(get_userdata users/1/name)"
|
CLOUD_USER="$(get_userdata users/1/name)"
|
||||||
|
CLOUD_USER_HOMEDIR="$(get_userdata users/1/homedir)"
|
||||||
|
CLOUD_USER_SHELL="$(get_userdata users/1/shell)"
|
||||||
|
CLOUD_USER_PRIMARY_GROUP="$(get_userdata users/1/primary_group)"
|
||||||
|
CLOUD_USER_GECOS="$(get_userdata users/1/gecos)"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
local homedir="$(get_userdata user/homedir)"
|
||||||
|
local shell="$(get_userdata user/shell)"
|
||||||
|
local primary_group="$(get_userdata user/primary_group)"
|
||||||
|
local gecos="$(get_userdata user/gecos)"
|
||||||
|
|
||||||
CLOUD_USER="${name:-$CLOUD_USER}"
|
CLOUD_USER="${name:-$CLOUD_USER}"
|
||||||
|
CLOUD_USER_HOMEDIR="${homedir:-$CLOUD_USER_HOMEDIR}"
|
||||||
|
CLOUD_USER_SHELL="${shell:-$CLOUD_USER_SHELL}"
|
||||||
|
CLOUD_USER_PRIMARY_GROUP="${primary_group:-$CLOUD_USER_PRIMARY_GROUP}"
|
||||||
|
CLOUD_USER_GECOS="${gecos:-$CLOUD_USER_GECOS}"
|
||||||
}
|
}
|
||||||
|
|
||||||
set_ssh_authorized_keys_for() {
|
set_ssh_authorized_keys_for() {
|
||||||
|
|||||||
@ -13,6 +13,10 @@ init_tests \
|
|||||||
set_network_config_network_interfaces \
|
set_network_config_network_interfaces \
|
||||||
set_network_config_auto \
|
set_network_config_auto \
|
||||||
userdata_user_name \
|
userdata_user_name \
|
||||||
|
userdata_user_homedir \
|
||||||
|
userdata_user_gecos \
|
||||||
|
userdata_user_shell \
|
||||||
|
userdata_user_primary_group \
|
||||||
userdata_user_missing_name \
|
userdata_user_missing_name \
|
||||||
userdata_create_default_user \
|
userdata_create_default_user \
|
||||||
userdata_no_default_user \
|
userdata_no_default_user \
|
||||||
@ -126,6 +130,62 @@ userdata_user_name_body() {
|
|||||||
tiny-cloud main
|
tiny-cloud main
|
||||||
}
|
}
|
||||||
|
|
||||||
|
userdata_user_homedir_body() {
|
||||||
|
fake_userdata_nocloud <<-EOF
|
||||||
|
#alpine-config
|
||||||
|
user:
|
||||||
|
name: joeuser
|
||||||
|
homedir: /var/lib/joe
|
||||||
|
EOF
|
||||||
|
atf_check -e ignore -o ignore tiny-cloud early
|
||||||
|
atf_check \
|
||||||
|
-e match:"create_default_user: done" \
|
||||||
|
-o match:"adduser.*-h /var/lib/joe" \
|
||||||
|
tiny-cloud main
|
||||||
|
}
|
||||||
|
|
||||||
|
userdata_user_gecos_body() {
|
||||||
|
fake_userdata_nocloud <<-EOF
|
||||||
|
#alpine-config
|
||||||
|
user:
|
||||||
|
name: joeuser
|
||||||
|
gecos: Joe User
|
||||||
|
EOF
|
||||||
|
atf_check -e ignore -o ignore tiny-cloud early
|
||||||
|
atf_check \
|
||||||
|
-e match:"create_default_user: done" \
|
||||||
|
-o match:"adduser.*-g Joe User" \
|
||||||
|
tiny-cloud main
|
||||||
|
}
|
||||||
|
|
||||||
|
userdata_user_shell_body() {
|
||||||
|
fake_userdata_nocloud <<-EOF
|
||||||
|
#alpine-config
|
||||||
|
user:
|
||||||
|
name: joeuser
|
||||||
|
shell: /bin/bash
|
||||||
|
EOF
|
||||||
|
atf_check -e ignore -o ignore tiny-cloud early
|
||||||
|
atf_check \
|
||||||
|
-e match:"create_default_user: done" \
|
||||||
|
-o match:"adduser.*-s /bin/bash" \
|
||||||
|
tiny-cloud main
|
||||||
|
}
|
||||||
|
|
||||||
|
userdata_user_primary_group_body() {
|
||||||
|
fake_userdata_nocloud <<-EOF
|
||||||
|
#alpine-config
|
||||||
|
user:
|
||||||
|
name: joeuser
|
||||||
|
primary_group: baz
|
||||||
|
EOF
|
||||||
|
atf_check -e ignore -o ignore tiny-cloud early
|
||||||
|
atf_check \
|
||||||
|
-e match:"create_default_user: done" \
|
||||||
|
-o match:"adduser.*-G baz" \
|
||||||
|
tiny-cloud main
|
||||||
|
}
|
||||||
|
|
||||||
userdata_user_missing_name_body() {
|
userdata_user_missing_name_body() {
|
||||||
fake_userdata_nocloud <<-EOF
|
fake_userdata_nocloud <<-EOF
|
||||||
#alpine-config
|
#alpine-config
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user