1 Commits

Author SHA1 Message Date
4901af38b4 move all add user steps to functions 2026-06-09 14:34:07 +02:00
2 changed files with 19 additions and 39 deletions

View File

@@ -1,12 +0,0 @@
#!/usr/bin/php
<?php
$jsonFile = '/opt/html/online.json';
$activeUsers = shell_exec("ps -eo user=,comm= | awk '$2 ~ /sshd/ {print $1}' | grep -vE 'sshd|root' | sort -u");
$activeUsersArray = array_filter(explode("\n", $activeUsers));
$activeUsersJson = json_encode($activeUsersArray, JSON_PRETTY_PRINT);
file_put_contents($jsonFile, $activeUsersJson);
?>

View File

@@ -7,22 +7,18 @@ set -e
LOGIN="$1"
[ -z "$LOGIN" ] && { echo "Użycie: $0 <login>"; exit 1; }
STEP=$2
PASS="$(openssl rand -base64 16 | sed 's/[\/\+\=\\]//g')"
add_user() {
setup_user() {
adduser -D -s /bin/sh -h "/home/$LOGIN" -H "$LOGIN"
addgroup "$LOGIN" tildeusers
PASS="$(openssl rand -base64 16 | sed 's/[\/\+\=\\]//g')"
echo "$LOGIN":"$PASS" | chpasswd
zfs create -o mountpoint="/home/$LOGIN" -o quota=200M "tank/ROOT/homes/$LOGIN"
chown "$LOGIN":"$LOGIN" "/home/$LOGIN"
}
setup_user() {
addgroup "$LOGIN" tildeusers
# neomutt had issues with default vi
echo "export EDITOR=nvim" >> "/home/$LOGIN/.ashrc"
cat "export EDITOR=nvim" >> "/home/$LOGIN/.ashrc"
# set cgroup
CG_ROOT=/sys/fs/cgroup/users
@@ -115,6 +111,11 @@ setup_weechat () {
}
send_welcome_mail () {
cp welcome_tmp.txt welcome.txt
echo "Login: $LOGIN" >> welcome.txt
echo "Hasło: $PASS" >> welcome.txt
sendmail -f v0id1st@tylda.org "$LOGIN@tylda.org" << EOF
Subject: Witaj na tylda.org!
From: v0id1st@tylda.org
@@ -128,27 +129,18 @@ Twoje dane do Nextcloud to (https://cloud.tylda.org) to:
EOF
}
if [ -z "$STEP" ]; then
# critical path
add_user
setup_user
setup_nextcloud
send_welcome_mail
# less important stuff
# shouldn't impact user obtaining registration email
setup_neomutt
setup_tmux
setup_gemini
setup_html
setup_weechat
else
# use $STEP as fn to call
$STEP
fi
setup_nextcloud
chown -R "$LOGIN":"$LOGIN" "/home/$LOGIN/"
send_welcome_mail
echo 524288000 > "$USER_CG/memory.max" # 500MB RAM
echo "50000 100000" > "$USER_CG/cpu.max" # 50% CPU (quota/period μs)