本文目录导读:

Linux 系统批量添加系统用户(用于代理认证)
使用 useradd 命令结合循环脚本:
#!/bin/bash
# 批量添加用户,用户名格式:proxy_user_1~50
for i in $(seq 1 50); do
username="proxy_user_$i"
password="password_$i" # 生产环境建议使用随机密码或 SSH 密钥
useradd -m -s /sbin/nologin "$username" # -s /sbin/nologin 禁止登录,仅用于代理服务
echo "$username:$password" | chpasswd # 设置密码
echo "Created user: $username"
done
注意:如果代理服务需要特定用户组或目录,可添加 -g group -d /home/proxy 参数。
Squid 代理批量添加认证用户
Squid 使用 htpasswd 文件存储用户名和密码(需安装 apache2-utils 或 httpd-tools):
#!/bin/bash
# 生成 htpasswd 文件,批量添加 Squid 代理用户
HTPASSWD_FILE="/etc/squid/squid_passwd"
touch "$HTPASSWD_FILE"
for i in $(seq 1 100); do
username="squid_user_$i"
password="random_pass_$i"
# -b 选项直接将密码传入(不安全,仅演示),生产用 -n 交互输入
htpasswd -b "$HTPASSWD_FILE" "$username" "$password"
echo "Added $username to $HTPASSWD_FILE"
done
Squid 配置示例(/etc/squid/squid.conf):
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/squid_passwd
auth_param basic children 10
auth_param basic realm Squid Proxy
acl proxy_users proxy_auth REQUIRED
http_access allow proxy_users
Shadowsocks/Trojan 等代理协议批量添加用户
以 Shadowsocks 的 ss-manager 或 v2ray 的 API 为例(需要 JSON 配置文件):
#!/bin/bash
# 批量生成 Shadowsocks 用户配置(多端口模式)
CONFIG_FILE="/etc/shadowsocks/users.json"
echo '{"port_password": {' > "$CONFIG_FILE"
for i in $(seq 1 20); do
port=$((10000 + i)) # 端口从 10001 开始
password="password_$port"
echo " \"$port\": \"$password\"," >> "$CONFIG_FILE"
done
echo "}, \"method\":\"aes-256-gcm\"}" >> "$CONFIG_FILE"
# 重启服务
systemctl restart shadowsocks-server
3proxy 批量添加用户
3proxy 的配置文件(/etc/3proxy.cfg)支持 users 指令:
#!/bin/bash
# 生成用户行:username:CL:password
USERS_FILE="/etc/3proxy/users"
> "$USERS_FILE" # 清空旧内容
for i in $(seq 1 30); do
username="proxy_$i"
password="pass_$i"
echo "$username:CL:$password" >> "$USERS_FILE"
done
echo "Users added. Restart 3proxy: systemctl restart 3proxy"
在配置文件中引用:
include /etc/3proxy/users
allow * * * * *
proxy -n -a
通用建议
- 密码安全:避免硬编码,使用
openssl rand -base64 12生成随机密码。 - 日志记录:将创建的用户名和密码保存到 CSV 文件,便于分发。
- 权限控制:确保脚本以
root或sudo运行。 - 测试:先对少量用户执行,确认无误后再批量处理。
根据你的实际代理服务类型(HTTP/SOCKS5/Shadowsocks 等)选择对应方法,并提供更具体的环境信息可获取更精准的脚本。