mirror of
https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git
synced 2025-12-15 11:22:43 +03:00
Add "create_default_user" Init Action
This commit is contained in:
parent
ec139644a1
commit
4f9386bb94
@ -13,7 +13,8 @@
|
||||
INIT_ACTIONS_EARLY="
|
||||
expand_root
|
||||
install_hotplugs
|
||||
set_interfaces_default
|
||||
set_default_interfaces
|
||||
create_default_user
|
||||
"
|
||||
INIT_ACTIONS_MAIN="
|
||||
save_userdata
|
||||
@ -135,7 +136,7 @@ auto_detect_ethernet_interface() {
|
||||
echo "$iface"
|
||||
}
|
||||
|
||||
init__set_interfaces_default() {
|
||||
init__set_default_interfaces() {
|
||||
if [ -f "$ROOT"/etc/network/interfaces ]; then
|
||||
echo "already set up" >&2
|
||||
log info "$phase $ACTION - already set up"
|
||||
@ -159,6 +160,27 @@ init__set_interfaces_default() {
|
||||
"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
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ init_tests \
|
||||
ethernets \
|
||||
find_first_interface_up \
|
||||
auto_detect_ethernet_interface \
|
||||
set_interfaces_default
|
||||
set_default_interfaces
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
set_interfaces_default_body() {
|
||||
set_default_interfaces_body() {
|
||||
fake_interfaces eth0 eth1
|
||||
echo up > sys/class/net/eth1/operstate
|
||||
|
||||
atf_check \
|
||||
sh -c ". $lib; init__set_interfaces_default"
|
||||
sh -c ". $lib; init__set_default_interfaces"
|
||||
atf_check \
|
||||
-o match:"auto lo" \
|
||||
-o match:"iface eth1" \
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user