mirror of
https://github.com/3proxy/3proxy.git
synced 2026-04-06 21:30:12 +08:00
46 lines
1.4 KiB
Bash
46 lines
1.4 KiB
Bash
#!/bin/sh
|
|
# Post-install script for 3proxy
|
|
# Creates proxy user and group if they don't exist
|
|
|
|
set -e
|
|
|
|
# Check if user already exists
|
|
if id proxy >/dev/null 2>&1; then
|
|
echo "User 'proxy' already exists"
|
|
exit 0
|
|
fi
|
|
|
|
echo "Creating proxy user and group..."
|
|
|
|
# Determine which commands are available
|
|
if command -v groupadd >/dev/null 2>&1; then
|
|
# Linux (shadow-utils)
|
|
groupadd -r proxy 2>/dev/null || true
|
|
useradd -r -g proxy -d /var/run/3proxy -s /usr/sbin/nologin proxy 2>/dev/null || true
|
|
elif command -v addgroup >/dev/null 2>&1; then
|
|
# Alpine Linux / BusyBox
|
|
addgroup -S proxy 2>/dev/null || true
|
|
adduser -S -D -H -G proxy -s /sbin/nologin proxy 2>/dev/null || true
|
|
elif command -v pw >/dev/null 2>&1; then
|
|
# FreeBSD
|
|
pw groupadd proxy 2>/dev/null || true
|
|
pw useradd proxy -g proxy -d /var/run/3proxy -s /usr/sbin/nologin 2>/dev/null || true
|
|
elif command -v dscl >/dev/null 2>&1; then
|
|
# macOS
|
|
dscl . create /Groups/proxy 2>/dev/null || true
|
|
dscl . create /Users/proxy 2>/dev/null || true
|
|
dscl . create /Users/proxy UserShell /usr/bin/false 2>/dev/null || true
|
|
dscl . create /Users/proxy NFSHomeDirectory /var/run/3proxy 2>/dev/null || true
|
|
else
|
|
echo "Warning: Could not create proxy user - no suitable user management tool found"
|
|
exit 0
|
|
fi
|
|
|
|
if id proxy >/dev/null 2>&1; then
|
|
echo "User 'proxy' created successfully"
|
|
else
|
|
echo "Warning: Failed to create user 'proxy'"
|
|
fi
|
|
|
|
exit 0
|