Временные учетки в linux с автозапретом - удобный способ:
📍 выдать доступ коллеге или заказчику на пару часов;
📍 дать временный SSH-доступ без ручной чистки;
📍 создать пользователя на ограниченное время (в минутах/часах).
▪️ Пример: учетка на 1 час
USER="tempuser"
PASS="$(openssl rand -base64 12)"
TIMEOUT_MIN=60
# Создание пользователя
useradd -m "$USER"
echo "$USER:$PASS" | chpasswd
echo "Учетка $USER создана. Пароль: $PASS"
# Блокировка через timeout
echo "passwd -l $USER && echo '[INFO] $USER заблокирован'" | at now + "$TIMEOUT_MIN" minutes
▪️ Альтернатива: удаление полностью. Если нужно удалить пользователя, а не только заблокировать:
echo "pkill -u $USER; userdel -r $USER" | at now + "$TIMEOUT_MIN" minutes
▪️ Дополнительно: запрет sudo и ограничение SSH
Не добавляйте пользователя в группы типа sudo. Можно ограничить доступ в sshd_config:
Match User tempuser
ForceCommand echo "Временный доступ завершен"
AllowTcpForwarding no
X11Forwarding no
▪️ Оборачивание в скрипт
#!/bin/bash
USER="temp$RANDOM"
PASS="$(openssl rand -base64 10)"
TIMEOUT_MIN=30
useradd -m "$USER"
echo "$USER:$PASS" | chpasswd
echo "Пользователь $USER создан на $TIMEOUT_MIN минут"
echo "Логин: $USER"
echo "Пароль: $PASS"
echo "userdel -r $USER" | at now + "$TIMEOUT_MIN" minutes
BashTex 📱 #bash #security