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脚本就方便多了!
- 创建一个脚本文件,比如
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 已经成功添加啦!"
- 给脚本加执行权限:
chmod +x add_freeradius_user.sh
- 使用脚本添加用户:
./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
相关产品推荐
相关产品推荐

