Compare commits

...

5 Commits

6 changed files with 56 additions and 7 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.env

16
add_ssh_key.sh Executable file
View File

@ -0,0 +1,16 @@
#!/bin/sh
[ -n "$1" ] && login=$1 || read -p "provide login: " login
[ -n "$2" ] && ssh_key=$2 || read -p "provide ssh key: " ssh_key
ssh_dir=/home/$login/.ssh
mkdir -p "$ssh_dir"
[ ! -f "$ssh_dir/authorized_keys" ] && touch $ssh_dir/authorized_keys
# add it to authorized_keys but avoid adding it twice
ak=$ssh_dir/authorized_keys
[ ! grep "$ssh_key" $ak ] && echo "$ssh_key" >> $ak
# ssh wont work without it
chmod -R 0700 /home/$login/.ssh
chown -R $login:$login $ssh_dir

View File

@ -2,11 +2,13 @@
# Usage: add_user.sh <login> # Usage: add_user.sh <login>
set -e set -e
source /root/helpers/.env
LOGIN="$1" LOGIN="$1"
[ -z "$LOGIN" ] && { echo "Użycie: $0 <login>"; exit 1; } [ -z "$LOGIN" ] && { echo "Użycie: $0 <login>"; exit 1; }
# 1. Użytkownik i hasło # 1. Użytkownik i hasło
PASS="$(openssl rand -base64 12)" PASS="$(openssl rand -base64 16 | sed 's/[\/\+\=\\]//g')"
adduser -D -s /bin/sh -h /home/$LOGIN -H "$LOGIN" adduser -D -s /bin/sh -h /home/$LOGIN -H "$LOGIN"
echo "$LOGIN:$PASS" | chpasswd echo "$LOGIN:$PASS" | chpasswd
addgroup $LOGIN tildeusers addgroup $LOGIN tildeusers
@ -31,6 +33,8 @@ mkdir -p /home/$LOGIN/Maildir/Trash/cur
mkdir -p /home/$LOGIN/Maildir/Trash/new mkdir -p /home/$LOGIN/Maildir/Trash/new
mkdir -p /home/$LOGIN/Maildir/Trash/tmp mkdir -p /home/$LOGIN/Maildir/Trash/tmp
chmod -R 0700 /home/$LOGIN/Maildir
cp -r /root/helpers/public_html /home/$LOGIN/ cp -r /root/helpers/public_html /home/$LOGIN/
sed -i "s/<<USER>>/$LOGIN/g" /home/$LOGIN/public_html/index.php sed -i "s/<<USER>>/$LOGIN/g" /home/$LOGIN/public_html/index.php
sed -i "s/<<USER>>/$LOGIN/g" /home/$LOGIN/public_html/parts/header.php sed -i "s/<<USER>>/$LOGIN/g" /home/$LOGIN/public_html/parts/header.php
@ -38,7 +42,7 @@ sed -i "s/<<USER>>/$LOGIN/g" /home/$LOGIN/public_html/blog/index.php
mkdir -p /home/$LOGIN/.config/weechat/ mkdir -p /home/$LOGIN/.config/weechat/
cp irc.conf /home/$LOGIN/.config/weechat cp /root/helpers/irc.conf /home/$LOGIN/.config/weechat
mkdir -p /home/$LOGIN/.config/tmux mkdir -p /home/$LOGIN/.config/tmux
cat << EOF > /home/$LOGIN/.config/tmux/tmux.conf cat << EOF > /home/$LOGIN/.config/tmux/tmux.conf
@ -87,7 +91,24 @@ EOF
# end gemini # end gemini
chown -R $LOGIN:$LOGIN /home/$LOGIN/ chown -R $LOGIN:$LOGIN /home/$LOGIN/
sendmail -f void1st@tylda.org $LOGIN@tylda.org < welcome.txt
mkdir -p /home/$LOGIN/.ssh
mkdir -p /home/$LOGIN/.gnupg
chmod 0700 /home/$LOGIN/.ssh
chmod 0700 /home/$LOGIN/.gnupg
curl -X POST https://cloud.tylda.org/ocs/v1.php/cloud/users -d userid="$LOGIN" -d password="$PASS" -H "OCS-APIRequest: true" -u "$NEXTCLOUD_USER:$NEXTCLOUD_PASS"
curl -X PUT "https://cloud.tylda.org/ocs/v1.php/cloud/users/$LOGIN" -H "OCS-APIRequest: true" -u "$NEXTCLOUD_USER:$NEXTCLOUD_PASS" -d key="quota" -d value="250MB"
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 < welcome.txt
rm -f welcome.txt
echo 524288000 > "$USER_CG/memory.max" # 500MB RAM echo 524288000 > "$USER_CG/memory.max" # 500MB RAM
echo "50000 100000" > "$USER_CG/cpu.max" # 50% CPU (quota/period μs) echo "50000 100000" > "$USER_CG/cpu.max" # 50% CPU (quota/period μs)

6
snapshots.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/ash
for u in $(ls /home); do
zfs snapshot tank/ROOT/homes/$u@$(date "+%Y%m%d")
zfs destroy tank/ROOT/homes/$u@$(date --date="-5 days" "+%Y%m%d")
done

View File

@ -1,4 +0,0 @@
Subject: Witaj na tylda.org!
From: v0id1st@tylda.org
Siemano :D

9
welcome_tmp.txt Normal file
View File

@ -0,0 +1,9 @@
Subject: Witaj na tylda.org!
From: v0id1st@tylda.org
Siemano :D
Witaj na tyldzie, baw się dobrze! Wpadnij się przywitać na IRCa.
Twoje dane do Nextcloud to (https://cloud.tylda.org) to: