#!/bin/bash
# Лабораторная работа 7.1
# Управление пользователями и правами доступа
LOGFILE="$HOME/lab7_1/user_manage.log"
DATE=$(date '+%Y-%m-%d %H:%M:%S')
log() {
echo "[$DATE] $1" | tee -a "$LOGFILE"
}
create_user() {
USERNAME="$1"
GROUP="$2"
if id "$USERNAME" &>/dev/null; then
log "Пользователь $USERNAME уже существует."
return 1
fi
sudo groupadd -f "$GROUP"
sudo useradd -m -g "$GROUP" -s /bin/bash "$USERNAME"
echo "$USERNAME:12345" | sudo chpasswd
log "Создан пользователь $USERNAME (группа $GROUP, пароль: 12345)"
}
delete_user() {
USERNAME="$1"
if id "$USERNAME" &>/dev/null; then
sudo userdel -r "$USERNAME"
log "Пользователь $USERNAME удалён."
else
log "Пользователь $USERNAME не найден."
fi
}
set_permissions() {
FILE="$1"
MODE="$2"
OWNER="$3"
GROUP="$4"
sudo chown "$OWNER":"$GROUP" "$FILE"
sudo chmod "$MODE" "$FILE"
log "Права для $FILE установлены: владелец=$OWNER, группа=$GROUP, права=$MODE"
}
help_menu() {
cat <<EOF
Использование: ./user_manage.sh <команда> [аргументы]
Команды:
add <имя> <группа> - создать пользователя
del <имя> - удалить пользователя
perm <файл> <права> <владелец> <группа> - задать права
help - показать справку
EOF
}