alpha 0.1
This commit is contained in:
44
lib/users.sh
Normal file
44
lib/users.sh
Normal file
@@ -0,0 +1,44 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user