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

CentOS 7源码安装FreeRADIUS 3.0.16后无法以服务运行问题咨询

兄弟,我前阵子在CentOS7上源码装FreeRADIUS 3.0.16的时候也踩过这个坑!源码编译安装的程序默认不会自动生成systemd服务文件,所以systemctl根本找不到这个服务。别慌,按下面几步操作就能搞定:

解决源码编译FreeRADIUS无法通过systemctl启动的问题

1. 手动创建systemd服务单元文件

系统默认没有这个服务配置,我们需要自己写一个。创建文件/etc/systemd/system/freeradius.service,内容如下:

[Unit]
Description=FreeRADIUS high performance RADIUS server.
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/var/run/radiusd/radiusd.pid
ExecStart=/usr/local/sbin/radiusd -f
ExecReload=/bin/kill -HUP $MAINPID
User=radius
Group=radius
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

注意:如果你编译时用了--prefix指定了自定义安装路径,要把上面的/usr/local替换成你的实际路径。

2. 创建radius用户和组(如果未自动创建)

源码安装可能不会自动生成运行所需的系统用户,执行以下命令创建:

useradd -r -s /sbin/nologin -d /usr/local/var/lib/radiusd radius

3. 修正文件权限

确保FreeRADIUS的配置目录、日志目录和运行目录归radius用户所有,避免权限报错:

chown -R radius:radius /usr/local/etc/raddb
chown -R radius:radius /usr/local/var/log/radiusd
chown -R radius:radius /usr/local/var/run/radiusd

4. 重新加载systemd并启动服务

# 让systemd识别新的服务文件
systemctl daemon-reload
# 启动服务
systemctl start freeradius
# 设置开机自启(可选)
systemctl enable freeradius

5. 验证服务状态

现在可以用systemctl查看状态了:

systemctl status freeradius

如果启动失败,用journalctl -u freeradius查看详细日志排查问题;也可以先执行radiusd -X(调试模式)确认配置文件没有语法错误,再用systemd启动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:52:34