30 lines
1.2 KiB
Bash
Executable File
30 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
BASE_DIR="/usr/local/hitme_plugins/mail-login-helper"
|
|
SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)"
|
|
|
|
mkdir -p "$BASE_DIR/bin" "$BASE_DIR/config" "$BASE_DIR/logs" "$BASE_DIR/state"
|
|
chmod 700 "$BASE_DIR" "$BASE_DIR/bin" "$BASE_DIR/config" "$BASE_DIR/logs" "$BASE_DIR/state"
|
|
|
|
cp "$SCRIPT_DIR/mail-login-authorized-command.sh" "$BASE_DIR/bin/create-login-url"
|
|
cp "$SCRIPT_DIR/cleanup-expired-login-urls.php" "$BASE_DIR/bin/cleanup-expired-login-urls"
|
|
chmod 755 "$BASE_DIR/bin/create-login-url" "$BASE_DIR/bin/cleanup-expired-login-urls"
|
|
touch "$BASE_DIR/logs/audit.log"
|
|
chmod 600 "$BASE_DIR/logs/audit.log"
|
|
|
|
if [ ! -f "$BASE_DIR/config/helper-settings.conf" ]; then
|
|
cat > "$BASE_DIR/config/helper-settings.conf" <<'EOF'
|
|
MAIL_LOGIN_ALLOWED_SOURCE_HOSTS=h4.domena.pl
|
|
MAIL_LOGIN_DA_BIN=/usr/bin/da
|
|
EOF
|
|
chmod 600 "$BASE_DIR/config/helper-settings.conf"
|
|
fi
|
|
|
|
cat > "$BASE_DIR/authorized_keys.example" <<'EOF'
|
|
from="SOURCE_SERVER_PUBLIC_IP",restrict,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-pty,command="/usr/local/hitme_plugins/mail-login-helper/bin/create-login-url" ssh-ed25519 SOURCE_SERVER_PUBLIC_KEY mail-login-source
|
|
EOF
|
|
chmod 600 "$BASE_DIR/authorized_keys.example"
|
|
|
|
echo "mail-login MX helper installed at $BASE_DIR"
|