You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FreeRADIUS命令行用户创建及脚本实现技术求助

通过命令行给FreeRADIUS创建用户&脚本方案

嘿,别担心!完全可以通过命令行给FreeRADIUS创建用户,还能写成脚本自动化操作,我一步步教你,毕竟刚接触IT的话,清晰的步骤最重要~

一、先了解FreeRADIUS的用户文件

FreeRADIUS默认会把用户信息存在一个文本文件里,不同系统的路径可能有点不一样:

  • RHEL/CentOS:/etc/raddb/users
  • Debian/Ubuntu:/etc/freeradius/3.0/users

这个文件的格式很简单,每行代表一个用户,基础格式是:

用户名 Cleartext-Password := "你的密码"

你还可以额外加一些属性(比如用户组、权限),不过新手先从基础的来就好。

二、命令行直接创建单个用户

直接用echo命令把用户信息追加到用户文件里就行,记得加sudo,因为这个文件需要root权限才能修改:

echo 'andrew Cleartext-Password := "myStrongPassword123"' | sudo tee -a /etc/raddb/users
  • tee -a是追加内容,不会覆盖文件里已有的用户,这点很重要!
  • 如果你用的是Debian/Ubuntu,记得把路径换成/etc/freeradius/3.0/users

添加完之后,重启FreeRADIUS服务让更改生效:

# RHEL/CentOS
sudo systemctl restart freeradius-server

# Debian/Ubuntu
sudo systemctl restart freeradius

三、写个脚本批量/重复创建用户

如果要经常添加用户,写个bash脚本就方便多了!

  1. 创建一个脚本文件,比如add_freeradius_user.sh:
#!/bin/bash

# 检查用户有没有输入用户名和密码
if [ $# -ne 2 ]; then
    echo "用法: $0 <用户名> <密码>"
    echo "例子: ./add_freeradius_user.sh john mySecurePass456"
    exit 1
fi

# 把输入的参数存成变量
USERNAME=$1
PASSWORD=$2

# 这里改成你系统的用户文件路径
USER_FILE="/etc/raddb/users"

# 追加用户到文件
echo "$USERNAME Cleartext-Password := \"$PASSWORD\"" | sudo tee -a $USER_FILE

# 重启服务生效
sudo systemctl restart freeradius-server

echo "✅ 用户 $USERNAME 已经成功添加啦!"
  1. 给脚本加执行权限:
chmod +x add_freeradius_user.sh
  1. 使用脚本添加用户:
./add_freeradius_user.sh sarah mySuperSafePass789

四、测试新用户能不能正常认证

添加完用户后,可以用radclient命令测试一下:

echo "User-Name=andrew, User-Password=myStrongPassword123" | radclient -x localhost auth testing123

这里的testing123是FreeRADIUS默认的共享密钥,你可以在/etc/raddb/clients.conf(或Debian/Ubuntu的/etc/freeradius/3.0/clients.conf)里找到它。如果测试成功,会看到类似Access-Accept的提示。

如果有任何问题,比如路径不对或者权限问题,随时调整就好,刚接触IT难免会踩小坑,慢慢来~

内容的提问来源于stack exchange,提问作者Andy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:39:37