mirror of
https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git
synced 2025-12-17 04:12:44 +03:00
Add "create_default_user" Init Action
This commit is contained in:
parent
ec139644a1
commit
4f9386bb94
@ -13,7 +13,8 @@
|
|||||||
INIT_ACTIONS_EARLY="
|
INIT_ACTIONS_EARLY="
|
||||||
expand_root
|
expand_root
|
||||||
install_hotplugs
|
install_hotplugs
|
||||||
set_interfaces_default
|
set_default_interfaces
|
||||||
|
create_default_user
|
||||||
"
|
"
|
||||||
INIT_ACTIONS_MAIN="
|
INIT_ACTIONS_MAIN="
|
||||||
save_userdata
|
save_userdata
|
||||||
@ -135,7 +136,7 @@ auto_detect_ethernet_interface() {
|
|||||||
echo "$iface"
|
echo "$iface"
|
||||||
}
|
}
|
||||||
|
|
||||||
init__set_interfaces_default() {
|
init__set_default_interfaces() {
|
||||||
if [ -f "$ROOT"/etc/network/interfaces ]; then
|
if [ -f "$ROOT"/etc/network/interfaces ]; then
|
||||||
echo "already set up" >&2
|
echo "already set up" >&2
|
||||||
log info "$phase $ACTION - already set up"
|
log info "$phase $ACTION - already set up"
|
||||||
@ -159,6 +160,27 @@ init__set_interfaces_default() {
|
|||||||
"use dhcp" >> "$ROOT/etc/network/interfaces"
|
"use dhcp" >> "$ROOT/etc/network/interfaces"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
init__create_default_user() {
|
||||||
|
local user="$CLOUD_USER"
|
||||||
|
# don't do anything if it already exists
|
||||||
|
if getent passwd "$user" >/dev/null; then
|
||||||
|
echo "already exists" >&2
|
||||||
|
log info "$phase $ACTION - already exists"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
addgroup "$user"
|
||||||
|
adduser -h "/home/$user" -s /bin/sh -G "$user" -D "$user"
|
||||||
|
addgroup "$user" wheel
|
||||||
|
echo "$user:*" | chpasswd -e
|
||||||
|
|
||||||
|
# setup sudo and/or doas
|
||||||
|
[ -d "$ROOT/etc/sudoers.d" ] &&
|
||||||
|
echo '%wheel ALL=(ALL) NOPASSWD: ALL' > "$ROOT/etc/sudoers.d/wheel"
|
||||||
|
[ -d "$ROOT/etc/doas.d" ] &&
|
||||||
|
echo 'permit nopass :wheel' > "$TARGET/etc/doas.d/wheel.conf"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
### init-main functions
|
### init-main functions
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,7 @@ init_tests \
|
|||||||
ethernets \
|
ethernets \
|
||||||
find_first_interface_up \
|
find_first_interface_up \
|
||||||
auto_detect_ethernet_interface \
|
auto_detect_ethernet_interface \
|
||||||
set_interfaces_default
|
set_default_interfaces
|
||||||
|
|
||||||
PROVIDERS="aws azure gcp nocloud oci"
|
PROVIDERS="aws azure gcp nocloud oci"
|
||||||
|
|
||||||
@ -87,12 +87,12 @@ auto_detect_ethernet_interface_body() {
|
|||||||
sh -c ". $lib; TINY_CLOUD_LINK_WAIT_MAX=1; auto_detect_ethernet_interface"
|
sh -c ". $lib; TINY_CLOUD_LINK_WAIT_MAX=1; auto_detect_ethernet_interface"
|
||||||
}
|
}
|
||||||
|
|
||||||
set_interfaces_default_body() {
|
set_default_interfaces_body() {
|
||||||
fake_interfaces eth0 eth1
|
fake_interfaces eth0 eth1
|
||||||
echo up > sys/class/net/eth1/operstate
|
echo up > sys/class/net/eth1/operstate
|
||||||
|
|
||||||
atf_check \
|
atf_check \
|
||||||
sh -c ". $lib; init__set_interfaces_default"
|
sh -c ". $lib; init__set_default_interfaces"
|
||||||
atf_check \
|
atf_check \
|
||||||
-o match:"auto lo" \
|
-o match:"auto lo" \
|
||||||
-o match:"iface eth1" \
|
-o match:"iface eth1" \
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user