USER="$1" if ! id "$USER" &>/dev/null; then echo "Ошибка: Пользователь '$USER' не найден в системе!" exit 2 fi echo "==============================================================" echo " Карточка пользователя" echo "==============================================================" echo "- Имя пользователя (GECOS) : $(grep "^$USER:" /etc/passwd | cut -d: -f5)" echo "- Логин : $USER" echo "- UID : $(id -u $USER)" echo "- Основная группа : $(id -gn superadmin)" echo "- Домашний каталог : $(eval echo ~$USER)" echo "- Оболочка : $(getent passwd $USER | cut -d: -f7)" echo "- Группы : $(id -Gn $USER)" echo "" if groups "$USER" | grep -q "\bwheel\b"; then echo "Пользователь \"$USER\" является администратором." else echo "Пользователь \"$USER\" не является администратором." fi echo "==============================================================" echo " Пароль пользователя" echo "==============================================================" echo "- Пароль изменен : $(days=$(grep "^$USER:" /etc/shadow | cut -d: -f3); [ -n "$days" ] && date -d "1970-01-01 + $days days" +"%a %d %b %Y %T %z" || echo 'Никогда')" echo "- Дата устаревания : $(days=$(grep "^$USER:" /etc/shadow | cut -d: -f8); [ -n "$days" ] && date -d "1970-01-01 + $days days" +"%a %d %b %Y %T %z" || echo 'Без срока')" echo "- Интервал смены пароля : минимум $(grep "^$USER:" /etc/shadow | cut -d: -f4) дней, максимум $(grep "^$USER:" /etc/shadow | cut -d: -f5) дней" echo "- Дней до предупреждения : $(grep "^$USER:" /etc/shadow | cut -d: -f6)" echo "- Дней без активности : $(grep "^$USER:" /etc/shadow | cut -d: -f7)" echo "" echo "==============================================================" echo " Активность в системе" echo "==============================================================" output=$(last -n 1 "$USER" | head -n 1) if [ -z "$output" ]; then echo "- Дата последнего входа: Данные о входах отсутствуют" else date=$(echo "$output" | awk '{print $5, $6, $7}') echo "- Дата последнего входа: $date" fi echo "==============================================================" echo " История команд" echo "==============================================================" if [ -f $(eval echo ~$USER)/.bash_history ]; then echo "- Последние 10 команд Bash:" tail -n 10 $(eval echo ~$USER)/.bash_history else echo "История команд не найдена." fi echo "" echo "==============================================================" echo " Cron-задания" echo "==============================================================" echo "Cron-задания пользователя:" crontab -l -u $USER 2>/dev/null || echo "Нет cron-заданий." echo ""