53 lines
1.2 KiB
Bash
Executable File
53 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
DB="/home/filebrowser/filebrowser.db"
|
|
BASE_DIR="/data/personal"
|
|
FB_USER="filebrowser"
|
|
MEDIA_GROUP="nasusers"
|
|
DMN="filebrowser.service"
|
|
DRY_RUN=false
|
|
|
|
if [ -z "$1" ] || [ -z "$2" ]; then
|
|
echo "Использование: $0 <username> <password>"
|
|
exit 1
|
|
fi
|
|
|
|
USERNAME="$1"
|
|
PASSWORD="$2"
|
|
USER_DIR="$BASE_DIR/$USERNAME"
|
|
|
|
run() {
|
|
if [ "$DRY_RUN" = true ]; then
|
|
echo "[DRY-RUN] $*"
|
|
else
|
|
"$@"
|
|
fi
|
|
}
|
|
|
|
echo ">>> Останавливаем демон"
|
|
run systemctl stop $DMN
|
|
|
|
echo ">>> Создаём пользователя в filebrowser"
|
|
run filebrowser users add "$USERNAME" "$PASSWORD" \
|
|
--scope "$USERNAME" \
|
|
--perm.create \
|
|
--perm.modify \
|
|
--perm.delete \
|
|
--perm.rename \
|
|
--perm.download \
|
|
--perm.share \
|
|
-d "$DB"
|
|
|
|
echo ">>> Создаём каталог и выставляем права"
|
|
run mkdir -p "$USER_DIR"
|
|
run chown root:"$MEDIA_GROUP" "$USER_DIR"
|
|
run chmod 2770 "$USER_DIR"
|
|
run setfacl -d -m g:"$MEDIA_GROUP":rwx "$USER_DIR"
|
|
run setfacl -d -m o::0 "$USER_DIR"
|
|
|
|
echo ">>> Запускаемся обратно"
|
|
run systemctl start $DMN
|
|
|
|
echo ">>> Готово! Пользователь $USERNAME создан, папка: $USER_DIR"
|