45 lines
1.2 KiB
Bash
45 lines
1.2 KiB
Bash
create_user() {
|
|
clear
|
|
read -p "Имя пользователя: " USER
|
|
id "$USER" &>/dev/null && { err "Уже существует"; pause; return; }
|
|
|
|
echo "Способ входа:"
|
|
echo "1) 🔑 Только ключ"
|
|
echo "2) 🔐 Пароль + ключ"
|
|
echo "3) 🔐 Только пароль"
|
|
read -p "> " MODE
|
|
|
|
useradd -m -s /bin/bash "$USER"
|
|
mkdir -p /home/$USER/.ssh
|
|
chmod 700 /home/$USER/.ssh
|
|
|
|
case "$MODE" in
|
|
1)
|
|
read -p "Вставь публичный ключ: " KEY
|
|
echo "$KEY" > /home/$USER/.ssh/authorized_keys
|
|
chmod 600 /home/$USER/.ssh/authorized_keys
|
|
passwd -l "$USER"
|
|
;;
|
|
2)
|
|
passwd "$USER"
|
|
read -p "Публичный ключ (Enter чтобы пропустить): " KEY
|
|
[[ -n "$KEY" ]] && echo "$KEY" > /home/$USER/.ssh/authorized_keys
|
|
;;
|
|
3)
|
|
passwd "$USER"
|
|
;;
|
|
*)
|
|
userdel -r "$USER"
|
|
err "Отмена"
|
|
pause
|
|
return
|
|
;;
|
|
esac
|
|
|
|
chown -R $USER:$USER /home/$USER/.ssh
|
|
usermod -aG sudo "$USER"
|
|
|
|
log "Создан пользователь $USER"
|
|
pause
|
|
}
|