71 lines
2.5 KiB
Bash
Executable File
71 lines
2.5 KiB
Bash
Executable File
#!/bin/sh
|
|
create_user_files() {
|
|
key_file="$1"
|
|
tilde_username="$2"
|
|
tilde_name="$3"
|
|
user_homedir="$4"
|
|
|
|
user_homedir="/home/$tilde_username"
|
|
tilde_homedir="/tilde/$tilde_name/home/$tilde_username"
|
|
|
|
sed "s|{{ TILDE_USERNAME }}|$tilde_username|g" "./templates/dotprofile.template" > "$user_homedir/.profile"
|
|
sed -i "s|{{ TILDE_NAME }}|$tilde_name|g" "$user_homedir/.profile"
|
|
sed -i "s|{{ KEY_FILE }}|$key_file|g" "$user_homedir/.profile"
|
|
sed -i "s|{{ TILDE_HOMEDIR }}|$tilde_homedir|g" "$user_homedir/.profile"
|
|
sed -i "s|{{ USER_HOMEDIR }}|$user_homedir|g" "$user_homedir/.profile"
|
|
|
|
sed "s|{{ TILDE_HOMEDIR }}|$tilde_homedir|g" "./templates/user-dirs.dirs.template" > "$user_homedir/.config/user-dirs.dirs"
|
|
sed "s|{{ TILDE_HOMEDIR }}|$tilde_homedir|g" "./templates/dotbashrc.template" > "$user_homedir/.bashrc"
|
|
|
|
sed "s|{{ TILDE_USERNAME }}|$tilde_username|g" "./templates/remote_command.template" > "/tilde/bin/$tilde_name"
|
|
sed -i "s|{{ TILDE_NAME }}|$tilde_name|g" "/tilde/bin/$tilde_name"
|
|
sed -i "s|{{ KEY_FILE }}|$key_file|g" "/tilde/bin/$tilde_name"
|
|
chmod +x "/tilde/bin/$tilde_name"
|
|
}
|
|
|
|
configure_user() {
|
|
key_file="$1"
|
|
tilde_username="$2"
|
|
tilde_name="$3"
|
|
startx_command="$4"
|
|
|
|
user_homedir="/home/$tilde_username"
|
|
tilde_homedir="/tilde/$tilde_name/home/$tilde_username"
|
|
|
|
mkdir -p "$tilde_homedir"
|
|
|
|
mkdir "/tilde/$tilde_name/key/"
|
|
mv "$key_file" "/tilde/$tilde_name/key/"
|
|
key_file="/tilde/$tilde_name/key/$(basename $key_file)"
|
|
|
|
|
|
if id -u "$tilde_username" 2>&1 >/dev/null
|
|
then
|
|
mkdir -p "$user_homedir"
|
|
cp "/root/.gtkrc-2.0" "$user_homedir"
|
|
cp -r "/root/.config" "$user_homedir"
|
|
|
|
useradd "$tilde_username" -d "$user_homedir"
|
|
chown -R "$tilde_username:$tilde_username" "$user_homedir"
|
|
echo "$startx_command" > "$user_homedir/.xinitrc"
|
|
|
|
usermod -a -G sudo "$tilde_username"
|
|
|
|
mkdir '/etc/systemd/system/getty@tty1.service.d'
|
|
echo "[Service]" > '/etc/systemd/system/getty@tty1.service.d/override.conf'
|
|
echo "ExecStart=" >> '/etc/systemd/system/getty@tty1.service.d/override.conf'
|
|
echo "ExecStart=-/sbin/agetty --autologin $tilde_username %I $TERM" >> '/etc/systemd/system/getty@tty1.service.d/override.conf'
|
|
echo "Type=idle" >> '/etc/systemd/system/getty@tty1.service.d/override.conf'
|
|
chsh -s '/bin/bash' "$tilde_username"
|
|
fi
|
|
|
|
touch "$user_homedir/first_login"
|
|
|
|
create_user_files "$key_file" "$tilde_username" "$tilde_name" "$user_homedir"
|
|
|
|
chown -R "$tilde_username:$tilde_username" "$tilde_homedir"
|
|
chown "$tilde_username:$tilde_username" "$key_file"
|
|
|
|
systemctl daemon-reload
|
|
}
|